C++ 如何使用C+通过TBBUTTONINFO结构的iImage成员提取系统托盘上的图标+;win7 32位下的api?

C++ 如何使用C+通过TBBUTTONINFO结构的iImage成员提取系统托盘上的图标+;win7 32位下的api?,c++,winapi,windows-7,trayicon,C++,Winapi,Windows 7,Trayicon,首先,我得到了TBBUTTONINFO结构的iImage成员的值 下,我想在Wi732位下通过C++ BAPI的IbIIGIN成员通过TButnOnnFrices结构提取系统托盘上的图标 有可能吗?如果有,我该怎么办 谢谢大家! 假设您已经将自己注入到资源管理器进程中,您可以将TB\u GETIMAGELIST发送到工具栏,然后调用ImageList\u GetIcon或ImageList\u GetImageInfo 另一方面,如果您没有注入进程,而是使用VirtualAllocEx和Read

首先,我得到了TBBUTTONINFO结构的iImage成员的值

下,我想在Wi732位下通过C++ BAPI的IbIIGIN成员通过TButnOnnFrices结构提取系统托盘上的图标 有可能吗?如果有,我该怎么办


谢谢大家!

假设您已经将自己注入到资源管理器进程中,您可以将
TB\u GETIMAGELIST
发送到工具栏,然后调用
ImageList\u GetIcon
ImageList\u GetImageInfo

另一方面,如果您没有注入进程,而是使用
VirtualAllocEx
ReadProcessMemory
获取工具栏信息,那么您将遇到问题,因为您无法轻松地将GDI对象从一个进程复制到另一个进程


此名为的旧应用程序可能会为您提供一些帮助,但您正在执行的操作不受支持,并且在任何时候都可能中断,因为托盘图标窗口和任务栏窗口层次结构的类名未记录,您不应该以这种方式访问它。

不支持此操作。如果你绝望了,为什么不自己进行逆向工程呢?请注意,由于您使用的是不受支持的方式,您的代码可能会在将来(或过去)的版本中被破坏。我不明白。
TBBUTTONINFO
(关于工具栏上单个按钮的信息)与任务栏通知区域中显示的图标有什么关系?(如果您将其称为系统托盘,您将面临风险。感谢您的支持link@MartinBonner,我的方向错了,请为我的问题提供一些建议。我现在该怎么办?没有支持的API来做这件事。为什么你觉得需要提取通知图标?谢谢@David Heffernan。我的项目需要它。如果是这样,我会找到其他方法仅此而已。据我所知,有人实现了这一点。在API中。谢谢@Anders。你让我知道我下一步应该做什么。你下一步应该做的是放弃。如果你已经注入到Explorer中,那么你可以编写防御代码,希望你的代码在将来不会中断。