首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >进程间通信

进程间通信
EN

Stack Overflow用户
提问于 2011-07-15 14:50:31
回答 1查看 483关注 0票数 1

我想知道我用java编写的应用程序是否有可能监视其他第三方应用程序中的事件(如单击文件菜单或编辑菜单),如编辑器、办公应用程序等。

我的应用程序应该在后台运行,它应该能够捕获和更改当前关注的应用程序的事件,这些应用程序可能不一定是java应用程序。

例如:如果用户单击microsoft word中的文件-->另存为选项,则我的应用程序应该能够接收这两个事件,并能够在必要时自动执行这些事件。

请帮帮忙

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-15 15:49:03

我从来没有在Java语言中这样做过,但是既然您正在处理Win32,我至少可以建议使用本机部分。您正在寻找的是挂接系统上的其他进程。为此,您必须编写一个本机DLL。这是一种常见的技术,您可以很容易地找到有关它的许多信息。一个很好的起点是来自MSDN的Using Hooks

一旦您将DLL注入到系统中的所有其他进程中,您就必须弄清楚如何识别您真正感兴趣的进程。你将如何做到这一点取决于你实际想要做的事情。为了更好地理解在不同操作上发送的消息,您可以使用VS附带的Spy++

最后,您必须在本机DLL和Java程序之间建立一些通信。这是我不熟悉的部分:您必须使用JNI。幸运的是,JNI是一个很好的主题,你可以在这个网站上找到很多建议。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6703603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档