Как восстановить из трея значок, зная hwnd окна?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Visual Вова
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 19
Зарегистрирован: 28.06.2009 (Вс) 2:57
Откуда: г. Петропавловск-Камчатский

Как восстановить из трея значок, зная hwnd окна?

Сообщение Visual Вова » 18.08.2009 (Вт) 12:09

Можете, пожалуйста, помочь.

Я хочу сделать большую иконку Mail.Ru агента. Это легко, но проблема в том, что эта иконка должна вызывать Агент. :cry:

Заранее спасибо!
С уважением, 12-летний мальчик Вова.

Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как восстановить из трея значок, зная hwnd окна?

Сообщение Хакер » 18.08.2009 (Вт) 12:39

В этом нет проблемы.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Visual Вова
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 19
Зарегистрирован: 28.06.2009 (Вс) 2:57
Откуда: г. Петропавловск-Камчатский

Re: Как восстановить из трея значок, зная hwnd окна?

Сообщение Visual Вова » 18.08.2009 (Вт) 13:04

Хакер писал(а):В этом нет проблемы.

То есть как нет?
С уважением, 12-летний мальчик Вова.

Изображение

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Re: Как восстановить из трея значок, зная hwnd окна?

Сообщение Alexanbar » 18.08.2009 (Вт) 13:38

Не очень понятен вопрос.

Если имеется ввиду сама картинка, то нужно окну послать сообщение WM_GETICON:

Код: Выделить всё
hIcon = SendMessage(hwnd, WM_GETICON, ICON_SMALL, ByVal 0&)
.

А чтобы работать с событиями значка в трее, нужно делать собственный трей, поскольку нужно обрабатывать сообщения, посылаемые трею. В системе трей может быть только один.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как восстановить из трея значок, зная hwnd окна?

Сообщение Хакер » 18.08.2009 (Вт) 15:11

То есть как нет?

Да вот так. В этом никаких проблем нет. Проблемы есть с этим и у тебя. И тебе тебе крайне желательно рассказать, что именно у тебя вызывает проблему, чтобы получить хоть какой-то ответ.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Visual Вова
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 19
Зарегистрирован: 28.06.2009 (Вс) 2:57
Откуда: г. Петропавловск-Камчатский

Re: Как восстановить из трея значок, зная hwnd окна?

Сообщение Visual Вова » 18.08.2009 (Вт) 16:32

Alexanbar писал(а):Не очень понятен вопрос.

Если имеется ввиду сама картинка, то нужно окну послать сообщение WM_GETICON:

Код: Выделить всё
hIcon = SendMessage(hwnd, WM_GETICON, ICON_SMALL, ByVal 0&)
.

А чтобы работать с событиями значка в трее, нужно делать собственный трей, поскольку нужно обрабатывать сообщения, посылаемые трею. В системе трей может быть только один.


Нет. Мне нужно послать сообщение окну о щелчке на значок. Вопрос в том, какая это константа.
С уважением, 12-летний мальчик Вова.

Изображение

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Re: Как восстановить из трея значок, зная hwnd окна?

Сообщение Alexanbar » 18.08.2009 (Вт) 21:28

Visual Вова писал(а):
Alexanbar писал(а):Не очень понятен вопрос.

Если имеется ввиду сама картинка, то нужно окну послать сообщение WM_GETICON:

Код: Выделить всё
hIcon = SendMessage(hwnd, WM_GETICON, ICON_SMALL, ByVal 0&)
.

А чтобы работать с событиями значка в трее, нужно делать собственный трей, поскольку нужно обрабатывать сообщения, посылаемые трею. В системе трей может быть только один.


Нет. Мне нужно послать сообщение окну о щелчке на значок. Вопрос в том, какая это константа.


Дело в том, что приложение регистрирует собственное (пользовательское) сообщение для того, чтобы трей посылал это сообщение приложению. А номер сообщения предварительно сообщается трею. А затем трей в качестве параметров этого сообщения передает, какие манипуляции производит юзверь с иконкой в трее.

Visual Вова
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 19
Зарегистрирован: 28.06.2009 (Вс) 2:57
Откуда: г. Петропавловск-Камчатский

Re: Как восстановить из трея значок, зная hwnd окна?

Сообщение Visual Вова » 18.08.2009 (Вт) 21:36

Всем спасибо! Я сам разобрался, как это сделать. Смотрите исходник внизу.
agent.zip
(7.32 Кб) Скачиваний: 71
С уважением, 12-летний мальчик Вова.

Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 93

    TopList