Как получить handle окна?
От: Аноним  
Дата: 18.11.03 13:26
Оценка:
Здравствуйте. Подскажите как можно получить handle окна по handle процесса или потока.
Спасибо.

19.11.03 11:11: Перенесено из 'C/C++'
Re: Как получить handle окна?
От: nap2k Верблюд есть
Дата: 18.11.03 13:32
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Здравствуйте. Подскажите как можно получить handle окна по handle процесса или потока.

А>Спасибо.

Как ты себе представляешь handle окна консольного приложения?
Re[2]: Как получить handle окна?
От: Аноним  
Дата: 18.11.03 13:36
Оценка:
Здравствуйте, nap2k, Вы писали:

N>Здравствуйте, <Аноним>, Вы писали:


А>>Здравствуйте. Подскажите как можно получить handle окна по handle процесса или потока.

А>>Спасибо.

N>Как ты себе представляешь handle окна консольного приложения?


Хорошо, уточню handle Win-приложения.
Re[3]: Как получить handle окна?
От: nap2k Верблюд есть
Дата: 18.11.03 13:45
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Здравствуйте, nap2k, Вы писали:


N>>Здравствуйте, <Аноним>, Вы писали:


А>>>Здравствуйте. Подскажите как можно получить handle окна по handle процесса или потока.

А>>>Спасибо.

N>>Как ты себе представляешь handle окна консольного приложения?


А>Хорошо, уточню handle Win-приложения.


Перечислить все окна, просматривая какой у них handle процесса или потока
( EnumWindows() + GetWindowThreadProcessId() )
Re[3]: Как получить handle окна?
От: andreev  
Дата: 18.11.03 14:05
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, nap2k, Вы писали:


N>>Здравствуйте, <Аноним>, Вы писали:


А>>>Здравствуйте. Подскажите как можно получить handle окна по handle процесса или потока.

А>>>Спасибо.

N>>Как ты себе представляешь handle окна консольного приложения?


А>Хорошо, уточню handle Win-приложения.


Проблема заключается не в том, какое это приложени(или процесс), а втом — сколько у него окон.
Дело в том, что у потока может быть несколько окон (как правило это так), а у приложения(процесса) несколько потоков(очень часто — один).
Отсюда вывод:
надо искать в MSDNе ф-цию
BOOL EnumThreadWindows(
DWORD dwThreadId,
WNDENUMPROC lpfn,
LPARAM lParam
);
Re[4]: Как получить handle окна?
От: Аноним  
Дата: 18.11.03 14:05
Оценка:
Здравствуйте, nap2k, Вы писали:

N>Здравствуйте, <Аноним>, Вы писали:


А>>Здравствуйте, nap2k, Вы писали:


N>>>Здравствуйте, <Аноним>, Вы писали:


А>>>>Здравствуйте. Подскажите как можно получить handle окна по handle процесса или потока.

А>>>>Спасибо.

N>>>Как ты себе представляешь handle окна консольного приложения?


А>>Хорошо, уточню handle Win-приложения.


N>Перечислить все окна, просматривая какой у них handle процесса или потока

N>( EnumWindows() + GetWindowThreadProcessId() )

Мне наоборот надо по HANDLE процесса или потока получить HANDLE окна, а GetWindowThreadProcessId наоборот возвращает HANDLE процесса
Re[5]: Как получить handle окна?
От: nap2k Верблюд есть
Дата: 18.11.03 14:10
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Здравствуйте, nap2k, Вы писали:


N>>Здравствуйте, <Аноним>, Вы писали:


А>>>Здравствуйте, nap2k, Вы писали:


N>>>>Здравствуйте, <Аноним>, Вы писали:


А>>>>>Здравствуйте. Подскажите как можно получить handle окна по handle процесса или потока.

А>>>>>Спасибо.

N>>>>Как ты себе представляешь handle окна консольного приложения?


А>>>Хорошо, уточню handle Win-приложения.


N>>Перечислить все окна, просматривая какой у них handle процесса или потока

N>>( EnumWindows() + GetWindowThreadProcessId() )

А>Мне наоборот надо по HANDLE процесса или потока получить HANDLE окна, а GetWindowThreadProcessId наоборот возвращает HANDLE процесса


А что циклы в С++ уже отменили?
Re: Как получить handle окна?
От: azesh Россия  
Дата: 18.11.03 14:44
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте. Подскажите как можно получить handle окна по handle процесса или потока.

А>Спасибо.

Ну у потока может быть несколько окон.

функция EnumThreadWindows
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.