0

我有一个像 WindowBlinds 这样的应用程序,它可以重新创建窗口外观。但我现在会用托盘窗口固定。我反汇编 Shell_NotifyIcon() 函数,发现它使用 Shell_NotifyIconW() 函数,然后仅通过序数(来自 shellw.dll)函数 215 来创建、修改和删除图标。

在这个函数中,我发现我可以通过 hwnd 找到 WndProc(在反汇编代码中,我通过 FindWindowW(L"Shell_TrayWnd", 0); 得到 hwnd)但是如何?

有人用这个工作吗?请帮忙。

4

1 回答 1

0

Explorer 只是获得 WM_COPYDATA 消息 IIRC,因此您可以子类化(您需要在同一进程中)并捕获该消息,或与带有工具栏消息的托盘图标列表交互,请参阅开源TraySaver应用程序。

你也可以看看一些开源的替代 shell,他们发现了很多没有文档的东西。我在一个有点相关的答案中链接到其中的几个。

于 2010-11-05T14:17:38.967 回答