как найти описатель окна зная только th32ProcessID работающего процесса

Тема в разделе "WASM.WIN32", создана пользователем alec, 6 окт 2004.

  1. alec

    alec New Member

    Публикаций:
    0
    Регистрация:
    6 окт 2004
    Сообщения:
    1
    Адрес:
    Ukraine
    ---

    invoke CreateToolhelp32Snapshot, TH32CS_SNAPPROCESS, 0

    mov hSnap, eax

    mov PE.dwSize, SIZEOF PROCESSENTRY32

    invoke Process32First, hSnap, ADDR PE

    test eax, eax

    jz exit

    next:

    invoke Process32Next, hSnap, ADDR PE

    test eax, eax

    jz exit

    ................

    ---

    при помощи этой конструкции можно легко определить ID работающего процесса, может кто подскажет как исходя из этого найти описатель главного окна приложения.
     
  2. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    alec

    Что такое "главное" окно приложения?
     
  3. CARDINAL

    CARDINAL Member

    Публикаций:
    0
    Регистрация:
    23 янв 2004
    Сообщения:
    551
    Адрес:
    Moscow
    Читать Статьи Джеффри Рихтера в MSDN. Там как раз именно об этом и написано.
     
  4. dema

    dema New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2004
    Сообщения:
    5
    Я недавно, возясь с Windows Explorer, обнаружил такую вещь: Windows Explorer - это не process a всего навсего thread!!!! В Windows есть один process Explorer, который запускается с запуском операционной системы. Когда же вы запускаете программу Windows Explorer - то Explorer создает для нее thread. А теперь у меня вопрос к вам: если вы запустили 5 Windows Explorer -то какой из них считать главным? Правильно. Поэтому я думаю вам нужно получить список всех окон - по окнам определить их process - сравнить со своим.....