- Refresh taskbar icon
- function Refreshtaskbaricon:integer;
- Var
- Hshelltraywnd:hwnd; //Task bar window
- Htraynotifywnd:hwnd; //Taskbar right tray icon + time zone
- Hsyspager:hwnd; //different systems may not have this layer
- Htoolbarwindow32:hwnd; //tray icon window
- R:trect;
- width, height: integer;
- X:integer;
- Begin
- Hshelltraywnd: = FindWindow (' Shell_traywnd ',nil);
- Htraynotifywnd: = FindWindowEx (Hshelltraywnd,0,' traynotifywnd ',nil);
- Hsyspager: = FindWindowEx (Htraynotifywnd,0,' syspager ',nil);
- if (Hsyspager <> 0) Then
- HToolbarWindow32: = FindWindowEx (Hsyspager,0,' ToolbarWindow32 ',nil)
- Else
- HToolbarWindow32: = FindWindowEx (Htraynotifywnd,0,' ToolbarWindow32 ',nil);
- if (hToolbarWindow32 <> 0) Then
- begin
- GetWindowRect (HTOOLBARWINDOW32,R);
- Width: = r. right-r. Left;
- Height: = r. bottom-r. Top;
- //From left to right mousemove from the middle of the taskbar, all icon states will be updated
- For x: = 1 to width-1 do
- SendMessage (Htoolbarwindow32,wm_mousemove,0,makelparam (X,trunc (height/2)));
- end;
- End
Refresh taskbar icon Terminate other programs some programs have trays that will remain