Gea*_*phy 8 c++ python winapi system-tray
我有一台运行我强制性企业通信系统(Lync和Outlook)的Windows 7 VM.我想做的是在这台Windows机器上运行一个进程监视系统托盘并向我的主机发送通知(Xubuntu 13.04),以便在收到电子邮件或IM时通知我(我已经尝试过无缝) RDP要做到这一点,但这是一个无效的解决方案).
我可以相对轻松地处理Linux或面向网络的任何东西,我不知道该怎么做是如何查询Windows系统托盘的状态(或附加事件监听器以进行状态更改).我对C++和Python很满意,但我会给出任何可行的解决方案.
详细的状态信息将是更可取的,但至少我需要能够检测托盘中图标数量的变化.
在 Windows 上,如果您安装了 Visual Studio,则 Visual Studio 工具中有一个有用的工具,名为“Spy++”,基本上它是一个向您显示所有窗口并能够查看特定窗口接收到的消息的工具。

使用此工具,您可以看到包含“开始按钮”、快捷方式、托盘、时钟等的整个面板是“Shell_TrayWnd”。您可以使用“查找”菜单来搜索特定窗口,只需在任何窗口上拖动“目标”即可。
托盘窗口本身是“SysPager”(附图上为 000100D2),您可以记录此窗口的消息,并在 Outlook 中接收邮件时查看此窗口接收的消息类型。
之后,您可以编写一段代码来侦听该窗口收到的所有消息,并根据您在“Spy++”中看到的内容确定发生了什么。
这只是开始。编写获取窗口句柄并侦听窗口接收的消息的代码是另一部分,但我认为 MSDN 甚至 StackOverflow 已经涵盖了这一点。搜索特定窗口句柄是由FindWindowEx函数完成的,为了监听消息,您必须设置一个由SetWindowsHookEx函数完成的“钩子”。MSDN 上对 Hook 的描述非常好。
| 归档时间: |
|
| 查看次数: |
1101 次 |
| 最近记录: |