Является ли дескриптор окна, раскрытый Spy ++, уникальным для этого компьютера или уникальным для приложения - PullRequest
0 голосов
/ 26 февраля 2012

Хорошо, поэтому у меня есть форма Microsoft Access, которая содержит текстовое поле, к которому я пытаюсь получить справку.*

Используя Spy ++, я нашел свой дескриптор текстового поля.Ниже приведен скриншот:

Spy Plus

Эта ручка уникальна для моего ПК или frmTest?Например, если я открою frmTest на другом компьютере, дескриптор моего текстового поля все равно будет 001E1A6E?

Спасибо

Ответы [ 2 ]

3 голосов
/ 26 февраля 2012

Дескриптор окна выделяется при создании окна. Если вы запускаете приложение несколько раз, окно приложения будет каждый раз получать новый дескриптор окна. И если приложение разрушит и заново создаст окно, оно также получит новый дескриптор.

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


Вы должны использовать информацию из Spy ++ для создания серии вызовов FindWindow(Ex), которые получают дескриптор для нужного элемента управления.

0 голосов
/ 26 февраля 2012

Это уникально только для этого экземпляра этого окна.Если вы полностью выйдите из MS Access, а затем снова запустите свое приложение, у вас будет другой дескриптор.

...