C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как получить дескрипторы других приложений  (Прочитано 6098 раз)
Ree4
Участник
**

Сказали спасибо: +12/-5
Offline Offline

Сообщений: 353


« : 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
Записан
Еxpert
Просто программст
Участник
**

Сказали спасибо: +21/-36
Offline Offline

Сообщений: 490

DanUnited


« Ответ #1 : 27 Декабрь 2012, 00:20:26 »

попробуй заюзать TGUIThreadInfo
Записан
OVE
Участник
**

Сказали спасибо: +62/-0
Offline Offline

Сообщений: 69


« Ответ #2 : 29 Декабрь 2012, 17:15:37 »

Не совсем понимаю смысл вызова GetWindow.
Почему бы сразу после GetForegrowndWindow не вызвать GetWindowText(h,buf,sizeof(buf))?
Записан
Ree4
Участник
**

Сказали спасибо: +12/-5
Offline Offline

Сообщений: 353


« Ответ #3 : 02 Январь 2013, 05:59:51 »

мне нужно получить дескриптор приложения, чтобы управлять им.
Конкретнее говоря получить браузер а не открытые окна
Записан
volvo877
Глобальный модератор
***

Сказали спасибо: +736/-1
Offline Offline

Сообщений: 891


« Ответ #4 : 02 Январь 2013, 10:54:42 »

Что я не так делаю?
Забываешь, что GetForegroundWindow уже возвращает хендл окна верхнего уровня, а не активного контрола, и не нужно получать его OWNER-а.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines
Страница сгенерирована за 0.098 секунд. Запросов: 22.