C++Builder

Вопросы программирования => Windows API => Тема начата: Ree4 от 26 декабря 2012, 16:55:46



Название: Как получить дескрипторы других приложений
Отправлено: Ree4 от 26 декабря 2012, 16:55:46
Всем привет, хочу записать дескриптор активного приложения и записать в Memo, но получается только либо сам проэкт С++, либо Builder. Что я не так делаю?
Код:
char buf[256];
HWND h = GetForegroundWindow();
HWND wn = GetWindow(h, GW_OWNER);
GetWindowText(wn,buf,sizeof(buf));
Memo1->Lines->Add(buf);
всё это дело в TTimer


Название: Re: Как получить дескрипторы других приложений
Отправлено: Еxpert от 27 декабря 2012, 00:20:26
попробуй заюзать TGUIThreadInfo


Название: Re: Как получить дескрипторы других приложений
Отправлено: OVE от 29 декабря 2012, 17:15:37
Не совсем понимаю смысл вызова GetWindow.
Почему бы сразу после GetForegrowndWindow не вызвать GetWindowText(h,buf,sizeof(buf))?


Название: Re: Как получить дескрипторы других приложений
Отправлено: Ree4 от 02 января 2013, 05:59:51
мне нужно получить дескриптор приложения, чтобы управлять им.
Конкретнее говоря получить браузер а не открытые окна


Название: Re: Как получить дескрипторы других приложений
Отправлено: volvo877 от 02 января 2013, 10:54:42
Что я не так делаю?
Забываешь, что GetForegroundWindow уже возвращает хендл окна верхнего уровня, а не активного контрола, и не нужно получать его OWNER-а.