通过第三方应用程序修改NotifyIcon的行为

本文关键字:NotifyIcon 程序修改 第三方 应用 | 更新日期: 2023-09-27 17:47:46

我一直很好奇是否可以通过C#应用程序显示、隐藏或更改另一个应用程序创建的NotifyIcon。

有人能举个例子吗?:)

通过第三方应用程序修改NotifyIcon的行为

要修改systray中的图标,可以使用Shell_NotifyIcon Win32 API(p/Invoke声明)。图标与一个窗口句柄和一个id相关联。这意味着,要修改或隐藏另一个程序的图标,你需要知道该窗口和该应用程序用来注册它的id。你可以通过枚举该进程的所有窗口,并使用每个句柄和0到5000千之间的每个数字进行调用来强制执行。例如,但是你成功的机会很渺茫。

您可以挂接SystemTray窗口本身来拦截所有Shell_NotifyIcon()请求。然后,您将知道为每个图标注册的确切HWND和ID。详细信息可以通过任何搜索引擎找到。

我什么都不知道,除非其他应用程序公开了一些公共方法,或者你试图使用反射,但我甚至不确定你是否能在运行的进程上做到这一点。