c++ - 查找功能区按钮的窗口句柄

标签 c++ windows ribbon

我正在尝试对 Windows 应用程序进行一些自动化。 为了做我想做的事情,我需要一些控件的窗口句柄。

以前,我会通过组合 EnumWindows、EnumChildWindows 和 GetWindowText 来完成此操作。但现在,一些较新的程序不再有带有按钮的工具栏。 相反,他们有一条丝带。

起初这对我来说似乎不是什么大问题,但现在我注意到功能区上的按钮没有显示在 EnumChildWindows 中! 或者至少 GetWindowText 不会返回与屏幕上看到的文本相同的文本。

长话短说: 谁能告诉我如何以编程方式找到功能区上按钮的句柄?

谢谢。 问候, ldx

最佳答案

使用 Visual Studio 附带的 Spy++(或任何其他类似工具)来查看这些按钮是否实际上是窗口。如果是,请查看有关使用该工具的详细信息。但是,该应用程序很可能在父窗口上下文上自行绘制它们,在这种情况下,您无法获取窗口句柄,因为它们不是真正的窗口。

关于c++ - 查找功能区按钮的窗口句柄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4592203/

相关文章:

c++ - 如何在 Windows 应用程序中截取屏幕截图?

c++ - Working with a secondary datastructure//数据结构的建议

c++ - 创建者中调用的方法是从基类调用的,而不是从派生类调用的

windows - 使用 NSIS 更新 %PATH% 环境变量

wpf - 如何以编程方式切换功能区选项卡?

outlook - 在 Outlook 2013 中调用功能区按钮

c++ - 存储无效指针是否自动未定义的行为?

windows - 如何处理文件夹名称中的空格

windows - 脚本大胆

c# - Wpf 功能区应用程序 - 不允许我向功能区添加内容!