-
Как получить дескрипторы всех компонентов "чужого" окна? Можно ли как-нибудь различить дескриптор какого типа компонента?
-
Естественно можно. FindWindowEx в помощь. Только знайте: это будут дескрипторы не "компонентов", а дочерних окон.
Программа может быть написана вообще не на Делфях, этого не стоит забывать.
Получить имя оконного класса можно с помощью GetWindowLong + GWL_WNDCLASS.
-
Ну это поиск окна... =) Проблема в поиске компонентов =)
Приложение предположительно написано на сях. Но контролы хтмл =)
-
Стоп-стоп. Какова ваша задача? Что вы хотите с найденными компонентами сотворить?
-
считать текст. с компонента textarea
-
я не прошу код) подскажите функции)
-
> rand() (17.09.08 19:16) [5]
>
> я не прошу код) подскажите функции)
>
Винда знать не знает ни о каких компонентах. Так что функций помимо поиска окон нет.
-
%|
хм... а как тогда программно нажимают на кнопки в чужом окне?
нашел такой код нажатия кнопки в "чужом" окне:
h1 := FindWindow('tform2', nil);
h2 := FindWindowEx(h1, 0, 'TBitBtn', '&No');
SendMessage(h2, BM_CLICK, 0, 0);
допустим мне повезло и я получил нужный мне дескриптор RichEdit или Memo,.. Можно ли считать оттуда текст?
-
> хм... а как тогда программно нажимают на кнопки в чужом
> окне?
>
А кнопка в Винде такое же окно.
-
понятно.
> Можно ли считать оттуда текст?
-
Не всякая кнопка - окно.
-
> > Можно ли считать оттуда текст?
Из окна можно. И лучше всё-таки вместо термина "дескриптор" употреблять термин handle. Меньше будет разночтений, имхо.
-
> Приложение предположительно написано на сях. Но контролы
> хтмл
там что, webbrowser?
-
скорее всего webbrowser...
-
плюс один вопрос сюда же. Как имея хэндл окна узнать его WindowName? Наверно используя wm_gettext... можно примерчик?)
-
про последний вопрос можно забыть =)
Как узнать хэндл активного окна в системе? GetActiveWindow - возвращает только хэндл активного окна текущего приложения... А если переключится на окно друго приложения, например, на калькулятор, то GetActiveWindow возвращает ноль =(
-
> rand() (18.09.08 17:18) [15]
> А если переключится на окно друго приложения, например,
> на калькулятор, то GetActiveWindow возвращает ноль =(
The GetActiveWindow function retrieves the window handle to the active window associated with the thread that calls the function.
> Как узнать хэндл активного окна в системе?
GetForegroundWindow
-
о))) спасибо большое)))
а что за зверь такой Internet Explorer_Server... И как с ним бороться?
Какими путями можно добраться до содержимого загруженной им страничкой?
-
> что за зверь такой Internet Explorer_Server
Где такой живет ?)
-
Это предположительно класс VB, выполняет функцию браузера. Видимо, чтото типа, TWebBrowser в делфи.
-
А причем здесь _Server ?
Имеется ввиду IE как COM/OLE-сервер что ли ?
-
Это форум почемуто жирным выделил... Internet Explorer_Server
Наверно... Я не в курсе =)
Объект данного класса в чужом окне...