При подключении Java-приложения происходит сбой / зависание приложения - PullRequest
0 голосов
/ 26 декабря 2011

Я только что реализовал общесистемный хук; он подключается к 32-битным процессам и переворачивает их текст (например, перехватывает текстовую панель, переворачивает текст меню и т. д., только для того, чтобы получить некоторую базовую перехватку). Я разместил свой код здесь:

Возникли проблемы с обходом Microsoft

Отлично работает для textpad, chrome и т. Д., Но когда я пытаюсь использовать его в одной программе, которая мне действительно нужна, в приложении Java, приложение зависает. Сама программа кажется незатронутой; никаких странных кодов ошибок или чего-то еще. Это приложение (которое является торговой платформой моего брокера), которое зависает. Это файл .jnlp, который запускается через веб-стартер java (который впоследствии загружает торговую платформу). Он запускается как 32-битный процесс usng jre6.

Я использую 64-разрядную версию Windows 7, Visual Studio 10.0, Detours 3.0. Это довольно незнакомая для меня территория; не уверен, как продолжить или как отладить эту проблему. Я не женат на подходе, который использовал; если бы я мог обойти эту проблему другим способом, я бы с удовольствием использовал это. Любая идея, как я могу решить / отладить эту проблему? Любая помощь приветствуется.

ОБНОВЛЕНИЕ: Попробовал это на Intellij (Java IDE), и это тоже зависает. Я задавался вопросом, может быть, это просто тот факт, что эти приложения загружают тонну процессов, так что, может быть, это мешало, но попробовал это на Adobe Photoshop Elements (также загружает тонну процессов), и это сработало нормально. Так что все еще застрял.

1 Ответ

1 голос
/ 05 июня 2012

Когда вы перехватываете процесс, вам нужно использовать 32-битный перехват, чтобы перехватить 32-битный процесс. Поскольку вы используете 64-разрядную версию VS 2010, настроили ли вы свое решение для генерации 32-разрядной ловушки?

Ваша цель - приложение Java. Возможно, вы захотите попробовать Java Accessibility, чтобы присоединиться к процессу, а затем использовать отражение, чтобы получить текст и повернуть его вспять.

Удачи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...