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

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

Не всегда появляется трей-иконка [D7, Win95/98, WinXP]


Leaner ©   (2004-10-05 19:30:00) 

Здравствуйте ! У меня такая проблема:
Программа стартует вместе с Windows из Run регистра.
И трей-иконка не всегда появляется( но создается ).
В чем может быть дело ?
function CreateDeleteTrayIcon(Num:integer;AddIco:Boolean):Boolean;
var
Nidata:TNotifyIconData;
begin
SendMessage(Application.MainForm.Handle,WM_USER+1715,Integer(not AddIco),-1);
Nidata.cbSize:=SizeOf(TNotifyIconData);
Nidata.Wnd:=Application.MainForm.Handle;
Nidata.uID:=Num;
if AddIco then
 begin
  Nidata.uFlags:=NIF_ICON or NIF_MESSAGE or NIF_TIP;
  Nidata.uCallBackMessage:=WM_USER+1715
  Nidata.hIcon:=Application.Icon.Handle;
  StrPCopy(NiData.szTip,AppName);
  Result:=Shell_NotifyIcon(NIM_ADD,@Nidata);
  Exit;
 end;
Result:=Shell_NotifyIcon(NIM_DELETE,@Nidata);
end;


Функция вызывается в .dpr после
Application.CreateForm(TMainForm, MainForm);


GuAV   (2004-10-06 01:54:00) [1]

А если
 Nidata.hIcon:=LoadImage(hInstance, 'MAINICON',
       IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR); ?


Cobalt   (2004-10-06 00:45:00) [2]

1)
>>А Result проверяешь?
>Да, дважды: получаю SendMessage и смотрю результат

И...?

2)
>>В какой ОС проявляется?
>XP
А в Win2K/NT?


Leaner   (2004-10-05 22:49:00) [3]

>Cobalt
>А Result проверяешь?
Да, дважды: получаю SendMessage и смотрю результат
>И Run - какой?
HKEY_LOCAL_MACHINE
>В какой ОС проявляется?
XP


Cobalt   (2004-10-05 22:03:00) [4]

А Result проверяешь?
И Run - какой?
В какой ОС проявляется?


Наверх

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