//刷新任务栏图标 终止别的进程序有些程序有托盘会残留
Posted 哥,我还要
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了//刷新任务栏图标 终止别的进程序有些程序有托盘会残留相关的知识,希望对你有一定的参考价值。
- //刷新任务栏图标
- function RefreshTaskbarIcon: Integer;
- var
- hShellTrayWnd: HWND; //任务栏窗口
- hTrayNotifyWnd: HWND; //任务栏右边托盘图标+时间区
- hSysPager: HWND; //不同系统可能有可能没有这层
- hToolbarWindow32: HWND; //托盘图标窗口
- 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;
- //从任务栏中间从左到右 MOUSEMOVE一遍,所有图标状态会被更新
- for x := 1 to width-1 do
- SendMessage(hToolbarWindow32,WM_MOUSEMOVE,0,MAKELPARAM(x,trunc(height/2)));
- end;
- end;
以上是关于//刷新任务栏图标 终止别的进程序有些程序有托盘会残留的主要内容,如果未能解决你的问题,请参考以下文章