Winapi 获取特定任务栏按钮的上下文菜单文本
我有一些代码,它使用User32.SendMessage和TB#u GETBUTTON消息从windows任务栏获取任务栏按钮及其文本,以检索TBBUTTON结构(通过C#p/Invokes的Win32 API)。但我想弄清楚,一旦我有了按钮的手柄,如何抓取关联的上下文菜单文本。这里有一些我想要检索的特定应用程序的状态信息。按钮文本让我得到了一些,但我需要上下文菜单文本来完成它Winapi 获取特定任务栏按钮的上下文菜单文本,winapi,contextmenu,taskbar,Winapi,Contextmenu,Taskbar,我有一些代码,它使用User32.SendMessage和TB#u GETBUTTON消息从windows任务栏获取任务栏按钮及其文本,以检索TBBUTTON结构(通过C#p/Invokes的Win32 API)。但我想弄清楚,一旦我有了按钮的手柄,如何抓取关联的上下文菜单文本。这里有一些我想要检索的特定应用程序的状态信息。按钮文本让我得到了一些,但我需要上下文菜单文本来完成它 有什么想法吗?这还不完全清楚。。。上下文菜单没有文本,它们有菜单项,每个菜单项都有文本。“上下文菜单文本”是指任务栏按
有什么想法吗?这还不完全清楚。。。上下文菜单没有文本,它们有菜单项,每个菜单项都有文本。“上下文菜单文本”是指任务栏按钮弹出/上下文菜单中菜单项的文本吗?例如,下面截图中的“还原”、“最小化”等 如果是这样的话,我怀疑你走错了方向:
- 使用函数
- 然后,对于传递给回调的每个窗口,使用with
检查扩展窗口样式,以查看GWL_EXSTYLE
- 此外,有时还会显示其他窗口:应该有帮助
- 用于检索窗口系统菜单的句柄。应用程序可以对此进行自定义,因此,如果您的应用程序正在执行此操作(这就是您想要弹出菜单的原因),请确保将
传递给false
参数bRevert
- 然后,您可以使用和获取每个菜单项的信息。将
传递到true
参数,以指示您正在按位置访问菜单(因为您知道计数,所以您将获得项目0、1、2…计数-1)fByPosition
- 这填充了一个结构,该结构(我想,我从来没有对它进行过编码,所以我没有测试过)将通过
字段“如果在fMask成员中设置了MIIM_字符串标志”,告诉您与项关联的文本dwTypeData
- 这填充了一个结构,该结构(我想,我从来没有对它进行过编码,所以我没有测试过)将通过
希望有帮助 @Adam:我已经一个星期没有回答了。。。有帮助吗?有什么我可以补充的吗?