Страница: 1 |
Не могу найти ответ на такой вопрос Как можно запихнуть ярлык (любой) в system tray (около часов)? Помогите пожалуйста
Иконку что-ли? Ну ты в библиотеке кодов смотрел? Я имел ввиду другой программы (например блокнота Notepad).Можно или нет? Где то в разделе Примеры, был примерчик по запихиванию туды всякой фигни, вплоть до текстового окна. Может поможет? Покопайся там... Дык по-ходу так и делается... Берется узнается процесс, узнаем путь, забираем первую иконку из exe файла, а если нет, то можно свою назначить, добавляем иконку, запоминаем это (например в массив добавляем данные о окне, пути, и т.д.) Далее попросту посылаем окну мессадж свернуть/скрыть/развернуть (можно много напридумывать) И уже далее попросту сидим и следим за кликами на иконке. Вот такой код добавления иконки в трей: Declare Function Shell_NotifyIconA Lib "SHELL32" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Integer Public Function SetTrayIcon(Mode As Long, hWnd As Long, Icon As Long, tip As String) As Long Использование: SetTrayIcon NIM_ADD, Me.hWnd, Me.Icon, "TEST" Я так понял мне вместо Me.hWnd нужно запихнуть туда например - hWnd Блокнота (Notepad.ехе ).А как получить этот hWnd??Программу (для добавления в трей) собираюсь выбирать с помощью стандартного диалога - открыть файл. Я работаю в том направлении или нет?Может я в чем то ошибаюсь?Помогите решить задачку! На dklab.ru гдето валялась прога для этого на асме... Где точно сказать не могу... Но если хочешь могу скинуть на мыло программу... Искходников нет...(у меня ) Дык, блин, FindWindow даст тебе этот хэндл! >Но если хочешь могу скинуть на мыло программу... Нет спасибо. >Дык, блин, FindWindow даст тебе этот хэндл! Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Да? А что мне писать в lpWindowName? Страница: 1 |
Вопрос: Вопрос???
Добавлено: 06.01.04 22:42
Автор вопроса: sir_Alex
Ответы
Всего ответов: 10
Номер ответа: 1
Автор ответа:
Иван
Администратор
ICQ: 147688925
Вопросов: 24
Ответов: 708
Web-сайт:
Профиль | | #1
Добавлено: 06.01.04 23:57
Номер ответа: 2
Автор ответа:
sir_Alex
Вопросов: 7
Ответов: 8
Профиль | | #2
Добавлено: 07.01.04 00:43
Номер ответа: 3
Автор ответа:
Иван
Администратор
ICQ: 147688925
Вопросов: 24
Ответов: 708
Web-сайт:
Профиль | | #3
Добавлено: 07.01.04 00:56
Номер ответа: 4
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #4
Добавлено: 07.01.04 12:13
В пинципе, можно попробовать... Просто запихать иконку в трэй, а при
даблклике вместо открытия своей формы сделать вызов этой чужой
прораммы.
Номер ответа: 5
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #5
Добавлено: 07.01.04 12:56
Как только клик происходит, отсчитываем из массива данные и применяем действие на опр. окошке...
Номер ответа: 6
Автор ответа:
sir_Alex
Вопросов: 7
Ответов: 8
Профиль | | #6
Добавлено: 07.01.04 13:50
Public Const NIM_ADD = 0
Public Const NIM_MODIFY = 1
Public Const NIM_DELETE = 2
Public Const NIF_MESSAGE = 1
Public Const NIF_ICON = 2
Public Const NIF_TIP = 4
Type NOTIFYICONDATA
cbSize As Long
hWnd As Long
uID As Long
uFlags As Long
uCallbackMessage As Long
hIcon As Long
szTip As String * 64
End Type
Dim nidTemp As NOTIFYICONDATA
nidTemp.cbSize = Len(nidTemp)
nidTemp.hWnd = hWnd
nidTemp.uID = 0&
nidTemp.uFlags = NIF_ICON Or NIF_TIP
nidTemp.uCallbackMessage = 0&
nidTemp.hIcon = Icon
nidTemp.szTip = tip & Chr$(0)
SetTrayIcon = Shell_NotifyIconA(Mode, nidTemp)
End Function
Номер ответа: 7
Автор ответа:
Doomsday
Вопросов: 30
Ответов: 54
Профиль | | #7
Добавлено: 09.01.04 01:39
Номер ответа: 8
Автор ответа:
Dima22
Вопросов: 5
Ответов: 57
Профиль | | #8
Добавлено: 09.01.04 19:12
Номер ответа: 9
Автор ответа:
sir_Alex
Вопросов: 7
Ответов: 8
Профиль | | #9
Добавлено: 10.01.04 14:34
Номер ответа: 10
Автор ответа:
shuffle
Администратор
ICQ: 201502381
Вопросов: 15
Ответов: 737
Профиль | | #10
Добавлено: 10.01.04 21:38
>Да? А что мне писать в lpWindowName?
vbNullString