当前位置: 首页 > news >正文

58同城建设网站企业网站制作 优帮云

58同城建设网站,企业网站制作 优帮云,石碣镇网站建设,海珠网站建设哪家好程序猿对于宕机再熟悉不过了#xff0c;如果一个程序异常退出#xff0c;那我们只能在Windows日志中找到它的踪迹#xff1b;如果它是一个托盘程序#xff0c;异常退出后#xff0c;它会停留在托盘中久久不能离去#xff0c;直到我们的鼠标从它身上划过#xff1b;如果一…   程序猿对于宕机再熟悉不过了如果一个程序异常退出那我们只能在Windows日志中找到它的踪迹如果它是一个托盘程序异常退出后它会停留在托盘中久久不能离去直到我们的鼠标从它身上划过如果一个程序被另一个守护程序不断的杀掉、重启那么它的结果会如下图所示   请注意这不是扫雷没错这正是残留的图标。解决方法其实很简单在程序每次开启前向托盘窗口发送鼠标经过消息WM_MOUSEMOVE使其刷新。   首先要明确一点托盘包括显示区域和溢出区域所以需要同时刷新防止遗漏。可以用Spy鼠标右键选择“突出显示”窗口轮廓就会闪烁SysPager和NotifyIconOverflowWindow。 代码如下 using System; using System.Runtime.InteropServices;public class TaskBarUtil {struct RECT{public int left, top, right, bottom;}public static void RefreshNotification(){var NotifyAreaHandle GetNotifyAreaHandle();if (NotifyAreaHandle ! IntPtr.Zero)RefreshWindow(NotifyAreaHandle);var NotifyOverHandle GetNotifyOverHandle();if (NotifyOverHandle ! IntPtr.Zero)RefreshWindow(NotifyOverHandle);}private static void RefreshWindow(IntPtr windowHandle){const uint WM_MOUSEMOVE 0x0200;RECT rect;GetClientRect(windowHandle, out rect);for (var x 0; x rect.right; x 5)for (var y 0; y rect.bottom; y 5)SendMessage(windowHandle, WM_MOUSEMOVE, 0, (y 16) x);}private static IntPtr GetNotifyAreaHandle(){var TrayWndHandle FindWindowEx(IntPtr.Zero, IntPtr.Zero, Shell_TrayWnd, string.Empty);var TrayNotifyWndHandle FindWindowEx(TrayWndHandle, IntPtr.Zero, TrayNotifyWnd, string.Empty);var SysPagerHandle FindWindowEx(TrayNotifyWndHandle, IntPtr.Zero, SysPager, string.Empty);var NotifyAreaHandle FindWindowEx(SysPagerHandle, IntPtr.Zero, ToolbarWindow32, string.Empty);return NotifyAreaHandle;}private static IntPtr GetNotifyOverHandle(){var OverHandle FindWindowEx(IntPtr.Zero, IntPtr.Zero, NotifyIconOverflowWindow, string.Empty);var NotifyOverHandle FindWindowEx(OverHandle, IntPtr.Zero, ToolbarWindow32, string.Empty);return NotifyOverHandle;}[DllImport(user32.dll, SetLastError true)]static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string className, string windowTitle);[DllImport(user32.dll)]static extern bool GetClientRect(IntPtr handle, out RECT rect);[DllImport(user32.dll, CharSet CharSet.Auto)]static extern IntPtr SendMessage(IntPtr handle, UInt32 message, Int32 wParam, Int32 lParam); } TaskBarUtil.RefreshNotification(); 托盘又恢复往日简洁 ^_^ 转载于:https://www.cnblogs.com/boxy/p/11402966.html
http://www.pierceye.com/news/311570/

相关文章:

  • 水务 网站建设宁波建站模板系统
  • 方正集团网站是谁做的北京最新发布信息
  • iis7.5添加php网站wordpress内容页自定义字段
  • 设计公司做网站价格图片网站收录
  • 网站做315认证广州中医药资源门户网站
  • 线上营销网站设计网站着陆页有多少个
  • 天津通用网站建设方案聊城做网站的地方
  • 政务网站建设合同dw个人网站模板下载
  • 广州网站优化服务商企业网站建设一站式服务
  • 蓝海电商怎么做广州短视频seo哪家好
  • 泸州住房和城乡建设厅网站怎么自己做微网站吗
  • 做网站上传图片自己怎么建设网站首页
  • 西安空调销售网站建设wordpress 谷歌地图
  • 网站建设投标书范本wordpress防广告屏蔽
  • 设计个人网站的步骤建设工程合同无效的情形有哪些
  • 网站竞争对手的选定一般参考什么标准的建设网站长沙
  • 通州个人做网站营销型网站建设开发
  • 乌海市网站建设基于asp的网络课程网站开发
  • 关掉自己做的网站网页设计与制作服务公司
  • 视频相亲网站开发成本分类信息网站推广的意义
  • 域名和网站网站开发项目视频
  • 色流网站怎么做东营建筑信息网
  • 做能支付的网站贵吗网络安全工程师考证
  • 下载类网站开发条件环球资源网成立时间
  • 客户如何找到做网站宣传的律师免费虚拟主机空间
  • 点击网站出现微信二维码的链接怎么做网架制造厂
  • 服装网站建设环境分析一家专门做房产特卖的网站
  • 网站推广方式方法品牌建设的阶段和步骤是什么
  • 游戏开发平台seo的定义
  • 北京住房和城乡建设部网站官网可信赖的购物网站建设