Я только что реализовал общесистемный хук; он подключается к 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 (также загружает тонну процессов), и это сработало нормально. Так что все еще застрял.