Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

И опять про иконку в трее


tupica ©   (2002-03-27 21:22:00) 

Вот тут ранее обсуждалось, как выкинуть из трея иконку от ЧУЖОГО окна. Я делаю такую штуку:
With FIconData Do Begin
cbSize:=SizeOf(FIconData);
Wnd:=FindWindow("Afx:400000:b:147e:0:0",nil);
uID:=137;
uFlags:=NIF_ICON;
End;
i:=Shell_NotifyIcon(NIM_DELETE,@FIconData);
Все это дело работает отлично.
А вот как теперь восстановить эту иконку? То есть понятно, надо послать Shell_NotifyIcon(NIM_ADD,@FIconData). А вот как правильно заполнить FIconData?


tupica   (2002-03-31 18:32:00) [1]

Дык я ж только что выше написал, что для скрытия эти параметры не нужны, а для добавления нужны. А как их узнать, ежели прога ЧУЖАЯ?


Song   (2002-03-31 16:39:00) [2]

2tupica (31.03.02 16:00)
Слушай, если ты раньше её скрывал, то значит с этими же параметрами и восстанавливай. Запоминай их просто где-нить.


tupica   (2002-03-31 16:00:00) [3]

To VID ©: Да так, первое что пришло в голову. А вообще-то я не программист, просто нужда заставила написать прогу, прячущую и показывающую иконку от другой программы.

То Eugene "Jek" Efimochkin: да не в переменной FIconData дело, а в том как ее правильно заполнить. Ведь это шняга типа TNotifyIconData. А она такого вида:
typedef struct _NOTIFYICONDATA { // nid
DWORD cbSize;
HWND hWnd;
UINT uID;
UINT uFlags;
UINT uCallbackMessage;
HICON hIcon;
char szTip[64];
} NOTIFYICONDATA, *PNOTIFYICONDATA;

Так вот я и спрашиваю - как заполнить uCallbackMessage и hIcon? Ведь прога-то чужая, как их узнать? Ведь когда иконку прячешь, эти хреновины не нужны и все работает, а если потом дать Shell_NotifyIcon(NIM_ADD,@FIconData) с теми же самыми параметрами, что и для удаления, эта хрень не работает.


Eugene "Jek" Efimochkin   (2002-03-30 00:08:00) [4]

> А вот как правильно заполнить FIconData?

FIconData - это же ведь переменная, так я понимаю? Значит можно завести нужное кол-во переменнных или динамический массив опять же, или в конце концов хранить это хозяство в TStream.


VID   (2002-03-28 10:57:00) [5]

слушай, человек, у чего у тебя такой оптимистический НИК ? :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо