如何自动移去系统托盘失效的图标

2016-02-19 14:05 5 1 收藏

图老师小编精心整理的如何自动移去系统托盘失效的图标希望大家喜欢,觉得好的亲们记得收藏起来哦!您的支持就是小编更新的动力~

【 tulaoshi.com - 编程语言 】


  有些Window应用程序在启动以后会在系统托盘去添加一个小图标, 一般情况下当程序正常退出时会自动去掉,但有时由于应用程序非法关闭,这个图标便一直留在托盘区,直到用鼠标移动图标上时,才会自己消失.那么我们就可以模拟鼠标移动到逐个图标上,来达到这个效果.
  void __fastcall RemoveDeadIcons()
  {
      HWND hTrayWindow;
      RECT rctTrayIcon;
      int nIconWidth;
      int nIconHeight;
      TPoint CursorPos;
      int nRow;
      int nCol;
  
      // Get tray window handle and bounding rectangle
      hTrayWindow = FindWindowEx(FindWindow(
              "Shell_TrayWnd", NULL), 0, "TrayNotifyWnd", NULL);
      if(!GetWindowRect(hTrayWindow, &rctTrayIcon))
          return;
      // Get small icon metrics
      nIconWidth = GetSystemMetrics(SM_CXSMICON);
      nIconHeight = GetSystemMetrics(SM_CYSMICON);
      // Save current mouse position }
      GetCursorPos(&CursorPos);
      // Sweep the mouse cursor over each icon in the tray in both dimensions
      for(nRow=0; nRow(rctTrayIcon.bottom-rctTrayIcon.top)/nIconHeight; nRow++)
      {
          for(nCol=0; nCol(rctTrayIcon.right-rctTrayIcon.left)/nIconWidth; nCol++)
          {
              SetCursorPos(rctTrayIcon.left + nCol * nIconWidth + 5,
                      rctTrayIcon.top + nRow * nIconHeight + 5);
              Sleep(0);
          }
      }
      // Restore mouse position
      SetCursorPos(CursorPos.x, CursorPos.x);
      // Redraw tray window (to fix bug in multi-line tray area)
      RedrawWindow(hTrayWindow, NULL, 0, RDW_INVALIDATE  RDW_ERASE  RDW_UPDATENOW);
  
   }

来源:http://www.tulaoshi.com/n/20160219/1606150.html

延伸阅读
标签: 电脑入门
只要以系统管理员权限修改Windows7系统的组策略,就能轻松解决上述问题。首先以系统管理员权限登录进入Windows7系统,依次单击开始→运行,弹出系统运行对话框中输入gpedit.msc命令,按回车键后,展开系统组策略编辑窗口,在该编辑窗口左侧列表区域,逐一跳转到用户配置→管理模板→开始菜单和任务栏分支上,用鼠标双击目标分支下...
标签: windows 操作系统
如果光盘放入光驱时,并没有自动执行,可能的原因有以下: 一、光驱「自动插入通知」的选项被关闭 以Windows 98举例,在桌面「我的电脑」图标上按鼠标右键,选属性,到「设备管理」这一页。 在 CD-ROM 前的 "+" 号上按一下,以便展开,你可以看到安装在你计算机上的光驱型号,选取之后,按「属性」,到「设置」页,如果需要 Autorun 的功...
在Windows操作系统中,任务栏的右边(托盘)会常驻几个图标,如输入法切换图标、音量控制图标等,此外我们还经常遇到具有托盘图标的软件,如金山词霸、实时监测功能的杀毒软件等。这些软件在后台运行,通常不占用太多的屏幕资源,只在通知栏上放一个小小的标志,必要时我们可以通过用鼠标点击图标对其进行选单操作或激活其主窗口。有时我们自...
标签: windows系统
Win8系统屏幕自动旋转功能失效怎么办   1、win8平板带有重力感应传感器,在右侧工具栏(CharmBar)中的设置中可以进行转屏操作; 2、侧边栏中这项功能不见了,只能调节亮度,重力感应也不能自动转屏了; 解决方法: 1、右侧边栏中搜索Services,启动Services设置; 2、在其中找到Sensor Monitoring Service项...
示例: in logout.aspx: 参考: http://www.eggheadcafe.com/articles/20021016.asp

经验教程

867

收藏

88
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部