2011-12-26 117 views
0

我刚刚实现了一个系统范围的挂钩;它会挂钩到32位进程并反转它们的文本(例如挂钩到文本板并反转菜单文本等,只是为了获得一些基本的挂钩)。我贴我的代码在这里:挂接java应用程序崩溃/冻结应用程序

Having trouble with microsoft detours

它工作正常的textpad,铬等,但是当我尝试使用它的一个节目,我真正需要的,一个Java应用程序,该应用程序冻结。程序本身不受影响;没有奇怪的错误代码或什么。这是冻结的应用程序(这是我的经纪人的交易平台)。这是一个通过java web-starter启动的.jnlp文件(随后加载交易平台)。它作为一个32位进程启动。

我正在运行Windows 7 64位,Visual Studio 10.0,Detours 3.0。这对我来说是非常陌生的领域;不知道如何继续或如何调试此问题。我没有结婚,我用过的方法;如果我能用一种不同类型的钩子绕过这个问题,我会很乐意使用它。任何想法如何解决/调试这个问题?任何帮助表示赞赏。

更新:在Intellij(一个java IDE)上试过这个,它也冻结了。我想知道,也许这只是事实,这些应用程序加载了大量的过程,所以也许这是捣乱的事情,但在Adobe Photoshop Elements上(也加载了大量的进程)尝试它,它在那上面工作得很好。所以仍然卡住。

回答

1

当你挂钩一个进程时,你需要使用32位挂钩钩住一个32位进程。既然你使用VS 2010 64位,你有没有设置你的解决方案来生成一个32位的钩子?

您的目标是一个Java应用程序。您可能想要尝试使用Java Accessibility来访问该流程,然后使用反射来获取文本并将其反转。

祝你好运