如何访问给定程序的菜单项?

时间:2013-11-16 00:23:30

标签: windows api winapi

鉴于程序流程(比如Visual Studio 2012),我如何以编程方式访问它的菜单项?

我完全不确定我会使用哪些API或者如何使用Google。

提前致谢。

2 个答案:

答案 0 :(得分:0)

从GetMenu()开始:http://msdn.microsoft.com/en-us/library/windows/desktop/ms647640(v=vs.85).aspx,左边是所有其他菜单功能。 (假设您正在谈论Win32 API。)

由于看起来你有进程ID,你可以从这里找到主窗口的HWND:Win32 - Get Main Wnd Handle of application

答案 1 :(得分:0)

遗憾的是,越来越多的程序不使用传统的“菜单”子系统。 Graham给出的答案适用于一些简单的应用程序,如calc.exe和notepad.exe,但VS2012的不是

我建议使用UIautomation

Windows SDK附带了一个“辅助功能”工具Inspect,可以向您显示是否可以获得应用程序对UIAutomation的良好支持。

Inpect and VS2012