ОС - Windows XP SP3
IDE - Lazarus 0.9.28.2 бета + winCE
Господа... Может кто-нить поможет, разъяснит :
Добавляю иконку в трей, код стандартный :
ico:=TIcon.Create;
ico.LoadFromFile(SelfPath+'\icon16x16x8.ico');
with TrayIconData do begin
cbSize := SizeOf(TrayIconData);
uID := 0;
uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
uCallbackMessage := WM_ICONTRAY;
hIcon := ico.Handle;
StrPCopy(szTip, Application.Title);
end;
TrayIconData.Wnd := Handle;
windows.Shell_NotifyIcon(NIM_ADD, NOTIFYICONDATA(@TrayIconData))
Под Win32 компилируется и запускается без проблем.
Под WinCE - компиляция останавливается с ошибкой - Identifier not found - кричит, что не знает что-такое NIF_MESSAGE, NIF_ICON, NIF_TIP и NIM_ADD...
Как такое вообще может быть? На сколько я понимаю : NIF_MESSAGE, NIF_ICON, NIF_TIP, NIM_ADD и прочие NIM-ы и NIF-ы - это стандартные ShellApi сообщения...
Пробовал под Win32 делать ShowMessage(inttostr(NIF_MESSAGE)) и подставлять потом вместо словесных "NIF_MESSAGE", "NIF_ICON", "NIF_TIP", "NIM_ADD" их DWORD-ы. В итоге - под Win32 - скомпилировалось и запустилось без проблем - под WinCE скомпилировалось, но никакого эффекта - иконка не появилась...
Пробовал TTrayIcon - под WinCE - не срабатывает...