как найти тип GDI - PullRequest
       4

как найти тип GDI

0 голосов
/ 13 февраля 2011

я новичок в win 32 api. Я пытаюсь использовать Win 32 API для создания экранной клавиатуры. Я могу дать дескриптор окна и компонентов щелчком мыши, но как реализовать их тип, и я хочу задавать текст только для текстового поля и редактируемых компонентов

Я пытаюсь использовать GetWindowInfo () и пытаюсь использовать atomWindowType окна для реализации типа этого, но это не используется полностью для этой цели, поскольку это изменение при каждом перезапуске ОС.

(щелчок по ручке окна)

WINDOWINFO pwi = new WINDOWINFO (); USER32INST.GetWindowInfo (click, pwi); if (pwi.atomWindowType! = -15891) {setLastclick (click); } tnx

1 Ответ

1 голос
/ 13 февраля 2011

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

Тип (или класс) окна по существу определяется его WndProc.Вы можете использовать GetClassName и его аналог, чтобы помочь вам идентифицировать некоторые стандартные классы окон, но, как вы уже обнаружили, большинство реальных приложений не будут использовать эти стандартные классы.

Итак, хотя в теории выможет анализировать код, стоящий за WndProc во время выполнения, на практике это не представляется возможным удаленно.

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