Получить текст из -textbox в другой программе, используя hwnd - PullRequest
0 голосов
/ 26 апреля 2011

эй, у меня есть окно из программы, когда я смотрю его в UIspy, я заметил, что RuntimeIds дочерних элементов выглядит так:

"window"      RuntimeId:        "42 1510446"  //parent
    "pane"    RuntimeId:        "42 394736"
    "image"   RuntimeId:        "42 1510446 2 0"
    "button"  RuntimeId:        "42 1510446 2 1"
    "text"    RuntimeId:        "42 1510446 2 2"

Мне нужно получить содержимое "текста", и у меня есть функция, которая может это сделать, но мне нужен hwnd. у «текста» есть hwnd (должно быть 1510446 или что-то в этом роде)? или как я могу получить к нему доступ?

1 Ответ

0 голосов
/ 26 апреля 2011

HWND назначается при создании текстового окна и будет отличаться при каждом загрузке окна, содержащего его.

Вам необходимо:

  1. Получите HWND содержащего окна с FindWindow(Ex)
  2. Используя это в качестве родителя HWND, вызовите FindWindowEx, снова указав TEXT в качестве имени класса
  3. Получите размер фактического текстового содержимого с помощью SendMessage / WM_GETTEXTLENGTH и создайте буфер
  4. Заполните этот буфер значением, используя SendMessage / WM_GETTEXT

Предполагается, что в родительском окне имеется только один из этого класса окна, и что text является реализацией класса EDIT.

...