2

我是一名 Python 开发人员,对 C++ 有一点了解。

话虽如此,我想了解如何右键单击系统托盘图标,然后单击上下文菜单上的选项之一。

我浏览了互联网,找不到可以让我了解系统托盘图标相对于“通知区域”的位置的东西。另外,我可以获得托盘图标的按钮文本。

我掌握了ToolbarWindow32使用FindWindowEx.

我尝试使用 X 和 Y 坐标 发送WM_RBUTTONDOWNWM_RBUTTONUP到句柄,但没有任何反应。ToolbarWindow32SendMessage

我完全不知道如何右键单击该图标并获取上下文菜单信息,然后使用它单击其中一个选项。

4

1 回答 1

-1

经过我的研究,没有办法将点击消息发送到系统托盘图标,至少不是通过我尝试过的任何 API。最好的方法,这是我遵循的方式如下:

  1. 您将消息TB_GETBUTTON发送到工具栏。

  2. 这将为您检索您检索的按钮的“idCommand”,以便您可以使用循环来获取所有“idCommand”,它位于TBBUTTON结构中。

  3. 使用 idComman,您可以使用工具栏句柄向工具栏按钮发送消息,以使用TB_RECT消息获取图标的尺寸。

  4. 一旦您知道按钮的尺寸,您只需要获取工具栏的尺寸,这很简单,因为它只是一个您对GetWindowRect进行校准的窗口

  5. 最后一步是现在您要发送单击以调用win32api.mouse_event,其中 x 为:工具栏的左边界 + 图标宽度的一半,y 为:工具栏的顶部边界 + 高度的一半图标。(因此您将点击发送到中心)。

    就是这样,希望有帮助!我已经问了一个类似的问题并在这里回答了。

于 2014-02-12T16:04:20.837 回答