| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Получение списка объектов ядра |
| Автор: Nastya 5.5.2005, 10:14 |
| Есть возможность получить список объектов ядра и/или окно созданных моим процессом. Если да, то какой? |
| Автор: AISIN 5.5.2005, 14:14 |
| Nastya http://forum.sources.ru/index.php?showtopic=38429 |
| Автор: Nastya 5.5.2005, 15:03 |
| Меня в общем-то больше интересуют не объекты ядра, а именно окна |
| Автор: Step 5.5.2005, 15:34 |
| EnumWindows получаешь хендлы на их основе берешь родителя и по родителю определяешь твое или нет |
| Автор: AISIN 5.5.2005, 15:35 | ||
EnumChildWindows(hwnd,&EnumChildWnd,0) 0 - число которое можно передать в функцию обратного вызова находим внутри главного окна все под окна и и передаем их в EnumChildWnd. |
| Автор: _hunter 5.5.2005, 16:11 |
| мне кажется что проще сделать CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0) потом Thread32First() тогда EnumThreadWindows() |
| Автор: Step 5.5.2005, 16:43 |
| _hunter, приложение будет иметь много потоков, опять проверять родителя.. для каждого потока искать окна |
| Автор: _hunter 5.5.2005, 17:15 |
| мне кажется что для потока найти его окно будет быстрее чем для всех окон имкать родителя... но это нужно проверить ( чем щас и займусь )... |
| Автор: _hunter 5.5.2005, 17:57 |
| по результатам тестирования вышло что не быстрее ( причем в 44 раза не быстрее |
| Автор: AISIN 10.5.2005, 19:37 | ||
_hunter Ну ты молодец конечно, но там написано"созданных моим процессом". т.е. идентификатор родителя уже известен и нужно найти все процессы или окна внутри процесса. И не нужно для всех окон что то имкать. Достаточно имкать для одного нашего окна! |
| Автор: _hunter 10.5.2005, 19:50 | ||||
никто и не спорит что моим ( для того 0 и передаю )
этого я не понял...
для какого нашего? того, которое мы ищем? |