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

时代创信网站建设桂林市临桂区城乡建设局网站

时代创信网站建设,桂林市临桂区城乡建设局网站,求职招聘网站开发代码,免费制作视频相册程序猿对于宕机再熟悉不过了#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://wiki.neutronadmin.com/news/402761/

相关文章:

  • 网站建设 我们的优势天津公司网站建设
  • 网站建设交付廊坊公司网站建设
  • 遵义城乡和住房建设厅网站南京做网站优化的企业排名
  • 织梦手机网站怎么仿制怎么做招聘网站链接
  • 重庆seo网站收录优化长沙3合1网站建设
  • 建设网银北京seo培训
  • 广州自助公司建网站网站seo的方法
  • 网站做数据分析的意义wordpress 主题 图
  • c2c网站建设方案做企业门户网站
  • 个人网站如何被百度收录邢台网站建设的地方
  • 做网站的时候卖过假货而出过事九网互联怎么建设网站
  • 内容网站最新好用的cms门户网站建设策划
  • 舟山网站建设推荐制作广告图片的软件app
  • 惠州网站建设模板合作wordpress站点是什么
  • 京东网站建设流程动漫制作专业专科
  • 集团高端网站网站设计素材下载
  • 手机网站开发公司哪家好php 网站开发框架
  • 网站建设的意见建议wordpress视频播放卡
  • 济南市建设信用网站学校要求做网站
  • 爱站网查询WordPress底部添加音乐
  • c net 做网站好吗上海关闭娱乐场所通知
  • 临沂大企业网站丰台建站推广
  • 知识产权教育网站建设方案免费推广网站2022
  • 机关建设网站网站开发哪个公司好
  • 网站电话改了子页怎么改网站设计制作如何评价
  • 都匀网站制作黑龙seo网站优化
  • 花店网站源码建设产品网站
  • 做网站要多少湖南监理建设协会网站
  • 微信链接的微网站怎么做的wordpress显示评论
  • ip查询网站备案查询系统wordpress打开插件的时候很慢