F
fly_123
Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个程序,运行后会在右下角的任务栏中添加一个图标,经过测试在window2000下以服务或exe运行正常,但是在XP下只能是以exe运行,以服务运行时添加图标失败(也不能找到桌面窗口),我的程序逻辑大概是这样的:<br> 1、用FindWindow('Progman',nil)找到桌面窗口,找到则进行下一步,否则退出;<br> 2、用Shell_NotifyIcon(NIM_Add, @FIconData)添加任务栏图标,其中FIconData定义如下:<br> with FIconData do begin<br> cbSize := SizeOf(FIconData);<br> Wnd := Self.Handle;<br> uID := $EEDB;<br> uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;<br> hIcon := Forms.Application.Icon.Handle;<br> uCallbackMessage := WM_MIDASICON;<br> StrCopy( szTip, PChar(Caption) );<br> end;<br> 经过检查,我发现以服务模式运行时,桌面找不到,如果跳过第一步,添加图标也会失败。请高手指点!不胜感激!!!