gpt4 book ai didi

winapi - 如何显示 WIndows 开始菜单

转载 作者:行者123 更新时间:2023-12-03 00:23:21 25 4
gpt4 key购买 nike

我需要在鼠标位置激活 Windows 开始菜单。

我知道我可以将 CTRL + ESC 或 Win 键发送到特定窗口,然后移动窗口,但它仍然会在短时间内在原始位置显示菜单(除非我安装钩子(Hook),这对于任务)。

我记得有一些方法可以做到这一点,使用一些 dll 调用或发送一些消息到 shell 或其他东西。

最佳答案

如果您以编程方式“按下”按钮,您会得到相同的行为吗?

  // Find the Start button
HANDLE hScreenDC = GetDC(0);
DWORD height = GetDeviceCaps(hScreenDC, VERTRES);
ReleaseDC(0, hScreenDC);
hTaskBarWnd = FindWindow("Shell_TrayWnd", 0);
hStartButtonWnd = GetWindow(hTaskBarWnd, GW_CHILD);

// Now simulate a press on the Start button
SendMessage(hButtonWnd, WM_LBUTTONDOWN,
MK_LBUTTON, LOWORD(5) + HIWORD(height - 20));

否则您可以使用WinSpy++探索“Shell_TrayWnd”窗口或者通过使用类似的实用程序,也许“开始”菜单是托盘窗口的子窗口。

关于winapi - 如何显示 WIndows 开始菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1369981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com