我需要一个图标从系统托盘中消失。当我将鼠标移到它上面时,它确实消失了。我可以让Inno Setup模拟鼠标移动吗?我在网上找到了一些Pascal代码,但无法在Inno中运行它。也许我错过了一些简单的事情。
uses
.... probably not all of these are necessary, but jwawinuser is at least....
JwaTlHelp32 {for running processes},
JwaWinType {for processes declarations},
JwaWinBase {just a guess: for closing process handles},
JwaWinSvc {for services declarations, always required},
jwawinuser {for clearing tray icon/notification area},
....
procedure CleanSystemTray;
{description Clean dead icons from system tray/notification area}
var
hNotificationArea: HWND;
r: RECT;
x: integer;
y: integer;
begin
hNotificationArea:=FindWindowEx(
FindWindowEx(FindWindowEx(FindWindowEx
(0,0,'Shell_TrayWnd', ''),0,'TrayNotifyWnd', ''),0,'SysPager',''),
0,
'ToolbarWindow32',
'Notification Area');
GetClientRect(hNotificationArea,r);
//Now we've got the area, force it to update
//by sending mouse messages to it.
x:=0;
y:=0;
while x < r.Right do begin
while y < r.Bottom do begin
SendMessage(hNotificationArea, WM_MOUSEMOVE, 0, (y shl 16) + x);
y:=y+5;
end;
x:=x+5;
end;
end;