当前位置:网站首页>C# 调用SendMessage刷新任务栏图标(强制结束时图标未消失)

C# 调用SendMessage刷新任务栏图标(强制结束时图标未消失)

2020-11-06 21:24:50 程序猿欧文

本文参考C++改写 https://blog.csdn.net/dpsying/article/details/20139651  (该文章的坐标理解的有误解,会导致功能无效)

SendMessage的移动鼠标里的坐标 是基于句柄内的 坐标,并不是屏幕坐标,任务栏宽度300 高度固定40,那么就应该从宽度0-300 坐标15之间 移动过去。

首先声明需要用到的 winapi 函数

1   [DllImport("user32.dll", EntryPoint = "FindWindow")] 2   private static extern int FindWindow(string lpszClass, string lpszWindow); 3   [DllImport("user32.dll", EntryPoint = "FindWindowEx")] 4   private static extern int FindWindowEx(int hwndParent, int hwndChildAfter, string lpszClass, string lpszWindow); 5  6   [DllImport("user32.dll", EntryPoint = "GetWindowRect")] 7   private static extern int GetWindowRect(int hwnd, ref System.Drawing.Rectangle lpRect); 8   [DllImport("user32.dll", EntryPoint = "SendMessage")] 9   private static extern int SendMessage(int hwnd, int wMsg, int wParam, int lParam);10 11   private static readonly int WM_MOUSEMOVE = 512;
winapi

封装调用的流程方法

版权声明
本文为[程序猿欧文]所创,转载请带上原文链接,感谢
https://my.oschina.net/mikeowen/blog/4556921