Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我用 C# 编写了一个 WPF 应用程序,我想在每次打开开始菜单时显示它,并在菜单关闭时再次隐藏它。我宁愿这样做而不轮询开始菜单的状态。到目前为止,我已经尝试收听 SHELLHOOK 消息,但我没有看到任何有用的信息。
我不能给你写完整的代码,但这是它背后的逻辑,
首先使用找到任务栏的句柄
[DllImport("user32.dll", SetLastError = true)] public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
也Shell_TrayWnd作为 lpClassName传递
Shell_TrayWnd
通过模拟点击按钮激活开始菜单。
获取开始菜单的窗口句柄
使用GetWindowLong功能检查它是否打开。
GetWindowLong