加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

刷新任务栏因进程关闭而停留下来的图标

发布时间:2020-12-15 23:14:15 所属栏目:安全 来源:网络整理
导读:// 刷新任务栏图标 function RefreshTaskbarIcon: Integer; var hShellTrayWnd: HWND; // 任务栏窗口 hTrayNotifyWnd: HWND; // 任务栏右边托盘图标+时间区 hSysPager: HWND; // 不同系统可能有可能没有这层 hToolbarWindow32: HWND; // 托盘图标窗口 r: TRE
//刷新任务栏图标
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,SysPager,nil); 
  if (hSysPager <> 0) then
        hToolbarWindow32 := FindWindowEx(hSysPager,ToolbarWindow32,nil)
  else
    hToolbarWindow32 := FindWindowEx(hTrayNotifyWnd,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;

---------------------
{ 
作者:lovewjp 
来源:CSDN 
原文:https://blog.csdn.net/lovewjp/article/details/44986437 
版权声明:本文为博主原创文章,转载请附上博文链接!
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读