function GetSysTrayWnd: HWND; { 返回系统托盘的句柄,适合于WinXP以上版本 } begin Result := FindWindow('Shell_TrayWnd', nil); Result := FindWindowEx(Result, 0, 'TrayNotifyWnd', nil); Result := FindWindowEx(Result, 0, 'SysPager', nil); Result := FindWindowEx(Result, 0, 'ToolbarWindow32', nil); end;刷新系统托盘procedure RefreshTrayIcon; { 刷新系统托盘图标 } var hwndTrayToolBar : HWND; rTrayToolBar : tRect; x , y : Word; begin hwndTrayToolBar := GetSysTrayWnd; Windows.GetClientRect(hwndTrayToolBar, rTrayToolBar); x := 0; while x < rTrayToolBar.right do begin y := 0; while y < rTrayToolBar.bottom do begin SendMessage(hwndTrayToolBar , WM_MOUSEMOVE, 0, MAKELPARAM(x,y) ); inc(y,8); end; inc(x, 8); end; end;
{
返回系统托盘的句柄,适合于WinXP以上版本
}
begin
Result := FindWindow('Shell_TrayWnd', nil);
Result := FindWindowEx(Result, 0, 'TrayNotifyWnd', nil);
Result := FindWindowEx(Result, 0, 'SysPager', nil);
Result := FindWindowEx(Result, 0, 'ToolbarWindow32', nil);
end;刷新系统托盘procedure RefreshTrayIcon;
{
刷新系统托盘图标
}
var
hwndTrayToolBar : HWND;
rTrayToolBar : tRect;
x , y : Word;
begin
hwndTrayToolBar := GetSysTrayWnd; Windows.GetClientRect(hwndTrayToolBar, rTrayToolBar);
x := 0;
while x < rTrayToolBar.right do
begin
y := 0;
while y < rTrayToolBar.bottom do
begin
SendMessage(hwndTrayToolBar , WM_MOUSEMOVE, 0, MAKELPARAM(x,y) );
inc(y,8);
end;
inc(x, 8);
end;
end;