FishHook
Я не могу утверждать наверняка, но мне почему-то кажется, что великое множество существующих кроссплатформенных графических тулкитов не используют библиотеки компонентов windows. Времена MFC слава Аллаху давно прошли.
А при чем ту это? тулкит может не использовать библиотеку компонент windows, но если он хочет работать в определенной среде(windows в данном случае) то должно соответвовать определенным требованиям, например иметь определенные интерфейсы, или определенным образом реагировать на определенные сигналы.
FishHook
Честно, не понимаю. Класс, это же сугубая абстракция, как вы предполагаете до него докапываться, если он не использует специфичных сисколов и вообще никак себя не регистрирует в ОС?
Чтоб не растекаться мыслью по древу, небольшая програмка написана на пайтоне с использованием pyQT(никаких библиотек компонентов windows). UISpy разложил ее как бог черепаху, на составляющие.
Какимто образом он же это сделал. Таже фигня с приложением на wx и tk, честно говоря мне не удалось найти у себя программу котороую UISpy не мого бы разложить по фреймам-кнопочкам-менющкам. Да с Far manager, по вполне определенным причинам, он не справился, он разложил на составляющие само окно, но содержание окна не смог, но я об этом говорил в предыдущем посте.
Да он использует не совсем WinAPI а Microsoft UI Automation, но вобщем то разница невелика. UI Automation представляет из себя библиотеку виртуализации дерева контролов произвольного Win32, Windows Forms или WPF приложения, с возможностью последующего доступа к свойствам этих контролов на чтение и запись. Разрабатывался в первую очередь для автотестов ГУИ. Ноне все ли равно для чего его разрабатывали, главное что принципиально, такая возможность есть. Да конечно это задача не для одного “начинающего погромиста” и далеко не на пол-дня работы. Но всеже есть всякие PyWinAuto или AutoIt которые както тоже делают чтото подобное.
FishHook
Попиксельно, это, конечно, утрирование для усиления эффекта. Я могу сейчас на спор за час сделать рабочее решение - поле ввода текста в браузере, не использующее ни input, ни textarea. Сможете на него хуки навешать?
Наверняка, можете, я не буду утверждать на 100% но думаю, что смогу таки повесить хук тем или иным способом, все зависит от потраченного на это времени. Но давайте будем откровенны,сколько людей занимаются подобным? Программист сейчас очень ленив, обычно использует уже готовые фреймворки, если кто и будет заниматься подобной “камасутрой” то один на миллион, да и то, скорее всего, ради спортивного интереса.
Да ТС писал “для любого окна с возможностью ввода текста” вы восприняли это как “для вообще любого возможного окна”, я воспринял это как “для окна произвольной(а не конкретной) программы имеющей соответствующие контролы”. В вашем понимании это реализовать нельзя, по вполне понятным причинам и я даже с этим согласен, всегда можно нарваться на особо упоротого “погромиста” который будет изобретать свой велосипед. В моем - вполне возможно, и это будет работать в 99,9% случаев(оставим 0.1% как раз для описаных вами случаев). Но это справедливо вобщем с любой программой, нет идеальной программы которая будет работать со 100% гарантией в 100% случаев, всегда можно найти условия при которых программа даст сбой, так чтоже из за этого не писать программы?