Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Вопрос??? Добавлено: 06.01.04 22:42  

Автор вопроса:  sir_Alex

Не могу найти  ответ на такой вопрос

Как можно запихнуть ярлык (любой) в system tray (около часов)?

Помогите пожалуйста

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 Иван



Администратор

ICQ: 147688925 

Вопросов: 24
Ответов: 708
 Web-сайт: www.vbnet.ru
 Профиль | | #1
Добавлено: 06.01.04 23:57

Иконку что-ли?

Ну ты в библиотеке кодов смотрел?

http://www.vbnet.ru/faq/showtopic.asp?id=181

Ответить

Номер ответа: 2
Автор ответа:
 sir_Alex



Вопросов: 7
Ответов: 8
 Профиль | | #2 Добавлено: 07.01.04 00:43

Я имел ввиду другой программы (например блокнота Notepad).Можно или нет?

Ответить

Номер ответа: 3
Автор ответа:
 Иван



Администратор

ICQ: 147688925 

Вопросов: 24
Ответов: 708
 Web-сайт: www.vbnet.ru
 Профиль | | #3
Добавлено: 07.01.04 00:56

Где то в разделе Примеры, был примерчик по запихиванию туды всякой фигни, вплоть до текстового окна.

Может поможет? Покопайся там...

Ответить

Номер ответа: 4
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #4
Добавлено: 07.01.04 12:13
В пинципе, можно попробовать... Просто запихать иконку в трэй, а при
даблклике вместо открытия своей формы сделать вызов этой чужой
прораммы.

Ответить

Номер ответа: 5
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #5
Добавлено: 07.01.04 12:56

Дык по-ходу так и делается... Берется узнается процесс, узнаем путь, забираем первую иконку из exe файла, а если нет, то можно свою назначить, добавляем иконку, запоминаем это (например в массив добавляем данные о окне, пути, и т.д.) Далее попросту посылаем окну мессадж свернуть/скрыть/развернуть (можно много напридумывать) И уже далее попросту сидим и следим за кликами на иконке.

Как только клик происходит, отсчитываем из массива данные и применяем действие на опр. окошке...

Ответить

Номер ответа: 6
Автор ответа:
 sir_Alex



Вопросов: 7
Ответов: 8
 Профиль | | #6 Добавлено: 07.01.04 13:50

Вот такой код добавления иконки в трей:

Declare Function Shell_NotifyIconA Lib "SHELL32" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Integer
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

Public Function SetTrayIcon(Mode As Long, hWnd As Long, Icon As Long, tip As String) As Long
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

Использование: SetTrayIcon NIM_ADD, Me.hWnd, Me.Icon, "TEST"

Я так понял мне вместо Me.hWnd нужно запихнуть туда например - hWnd Блокнота (Notepad.ехе ).А как получить этот hWnd??Программу (для добавления в трей) собираюсь выбирать с помощью стандартного диалога - открыть файл.

Я работаю в том направлении или нет?Может я в чем то ошибаюсь?Помогите решить задачку!

Ответить

Номер ответа: 7
Автор ответа:
 Doomsday



Вопросов: 30
Ответов: 54
 Профиль | | #7 Добавлено: 09.01.04 01:39

На dklab.ru гдето валялась прога для этого на асме... Где точно сказать не могу... Но если хочешь могу скинуть на мыло программу... Искходников нет...(у меня :))

Ответить

Номер ответа: 8
Автор ответа:
 Dima22



Вопросов: 5
Ответов: 57
 Профиль | | #8 Добавлено: 09.01.04 19:12

Дык, блин, FindWindow даст тебе этот хэндл!

Ответить

Номер ответа: 9
Автор ответа:
 sir_Alex



Вопросов: 7
Ответов: 8
 Профиль | | #9 Добавлено: 10.01.04 14:34

>Но если хочешь могу скинуть на мыло программу...

Нет спасибо.

>Дык, блин, FindWindow даст тебе этот хэндл!

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Да? А что мне писать в lpWindowName?

Ответить

Номер ответа: 10
Автор ответа:
 shuffle



Администратор

ICQ: 201502381 

Вопросов: 15
Ответов: 737
 Профиль | | #10 Добавлено: 10.01.04 21:38
>Да? А что мне писать в lpWindowName?
vbNullString

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам