0

我正在编写一个程序,该程序在我自己的进程之外的窗口的窗口标题上下文菜单中插入其他选项。以下是我发现如何做到这一点的方法:Adding a custom context menu item to Windows Form title bar。我只需要对该窗口有一个有效的 IntPtr 句柄。我测试了它并且它有效。第二部分是让我的应用程序(而不是其他进程)在用户从另一个进程窗口的上下文菜单中选择该选项时执行某些操作。我没有看到任何直接的方法来检测这一点。我知道我可以设置挂钩,以便我的程序监听我机器上的所有 Windows 消息(来自我感兴趣的窗口的 WM_SYSCOMMAND),但来自我的

4

1 回答 1

1

消息被发送到目标进程中的一个窗口。所以你需要让你的代码在这个过程中运行。这将涉及 DLL 注入,因此您需要编写本机代码而不是 C#。您需要注入一个 DLL 并对接收消息的窗口进行子类化,以便您的代码可以首先处理它们。

于 2013-11-03T20:35:01.513 回答