Python 如何以编程方式检索microsoft的inspect.exe中与“name”字段等效的内容?

Python 如何以编程方式检索microsoft的inspect.exe中与“name”字段等效的内容?,python,windows,winapi,ctypes,pywin32,Python,Windows,Winapi,Ctypes,Pywin32,我希望以编程方式从系统托盘中的工具提示中检索信息 此图显示了工具提示 现在,我发现通过使用Microsoft的inspect.exe(这是一个基于Windows的工具,允许您选择任何UI元素并查看元素的可访问性数据),理论上可以通过编程方式检索该值 将鼠标悬停在工具栏中的pandora图标上,会显示以下属性 它显示一个属性名,其中包含我所需的确切数据。我不确定如何使用win32api以编程方式检索此值。我已经找到潘多拉图标了 另外,一个不同的ui spy工具UiSpy.exe调用同一属性help

我希望以编程方式从系统托盘中的工具提示中检索信息

此图显示了工具提示

现在,我发现通过使用Microsoft的inspect.exe(这是一个基于Windows的工具,允许您选择任何UI元素并查看元素的可访问性数据),理论上可以通过编程方式检索该值

将鼠标悬停在工具栏中的pandora图标上,会显示以下属性

它显示一个属性名,其中包含我所需的确切数据。我不确定如何使用win32api以编程方式检索此值。我已经找到潘多拉图标了

另外,一个不同的ui spy工具UiSpy.exe调用同一属性helpText来命名不同的歌曲名:p

我尝试使用GetWindowTextPandora系统rayiconhwnd,但返回的文本不同。有人知道这个名称值是什么,以及我如何使用win32api检索它吗?这应该是可能的,因为inspect.exe是一个可以以某种方式访问数据的外部程序


我是用Python编写的,因为目标应用程序已经用Python编写。

这些间谍应用程序可能正在使用和/或

您可以尝试在工具栏HWND上调用,或者如果您关心鼠标位置,则可以调用

请记住,托盘图标工具栏的类名和窗口层次结构是未记录的

如果你只关心潘多拉,而不关心其他应用程序,那么我强烈建议你首先考虑。也许他们有一个隐藏的窗口标题等


如果你不介意黑客攻击,那么你可以看看,它是开源的,并且知道托盘工具栏中每个图标存储的数据的内部格式。请记住,它非常旧,可能无法在较新版本的Windows上运行。如果您走这条路,我不建议您这样做,那么您必须记住,您需要同时支持32位和64位资源管理器。

也许GUI自动化库可以帮助您。它使用Win32 API或UI自动化,由您选择。核心概念在中进行了描述

方法.window_text返回的值与Inspect.exe中显示的Name属性完全相同


您可以使用与托盘区域图标交互。

您是否只对当前播放的歌曲感兴趣?@andlabs最后,是@Anders答案中的其他备选链接是您想要的。该工具可以配置为使用Microsoft Active Accessibility或更新的UI自动化界面。左上角的组合框用于在两种模式之间切换。我感兴趣的属性可以通过UI自动化访问,我非常接近MSAA。我选择了黑客方式,因为我对以这种方式阅读多个应用程序感兴趣。