如何检测Windows 7开始菜单何时打开
我在C#中编写了一个WPF应用程序,我想在每次打开开始菜单时显示它,并在菜单关闭时再次隐藏。 我更愿意这样做而不用轮询开始菜单的状态。 到目前为止,我已经尝试过收听SHELLHOOK消息,但我没有看到任何有用的信息。
我不能写你完整的代码,但这是它背后的逻辑,
-
首先找到任务栏的句柄
[DllImport("user32.dll", SetLastError = true)] public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
也将
Shell_TrayWnd
作为lpClassName传递 -
通过模拟单击按钮激活“ 开始”菜单。
-
获取“ 开始”菜单的窗口句柄
-
使用
GetWindowLong
函数检查它是否打开。