Конференция "WinAPI" » Получение Handle окон по их PID [D7, WinXP]
 
  • DVM © (07.01.09 20:22) [20]

    > Xan   (07.01.09 17:21) [17]

    Есть предложение не использовать термин "Главное окно", а использовать термин "Top Level" окно. Но таких окон тоже может быть больше чем одно в пределах одного приложения. На таскбаре кнопки появляются именно для таких окон. Вот такие окна можно без проблем выделить.
  • Xan (09.01.09 08:43) [21]

    > Вот такие окна можно без проблем выделить


    Только не говори  что ето через EnumWindow, это и так понятно. А как через процессы?
  • DVM © (09.01.09 11:27) [22]

    > Xan   (09.01.09 08:43) [21]


    BOOL WINAPI EnumThreads(LPTHREADINFO lpThreadInfo, DWORD cb, LPDWORD cbNeeded);

    BOOL WINAPI EnumProcessThreads(LPTHREADINFO lpThreadInfo, DWORD cb, LPDWORD cbNeeded);

    BOOL WINAPI EnumProcessThreadsEx(DWORD dwPid, LPTHREADINFO lpThreadInfo, DWORD cb,
                                                                      LPDWORD cbNeeded);
    BOOL EnumThreadWindows
    (
    DWORD dwThreadId,  // идентификатор потока
    WNDENUMPROC lpfn,  // указатель на функцию возврата
    LPARAM lParam   // значение, определяемое прикладной программой
    );
  • DVM © (09.01.09 11:30) [23]

    > Xan   (09.01.09 08:43) [21]

    http://www.codeproject.com/KB/system/ntenumthreads.aspx

    здесь пример на си
  • Сергей М. © (09.01.09 18:02) [24]

    > как через процессы?


    А никак.

    В WinXP функции а-ля EnumProcessWindows() не существует.
  • Xan (21.01.09 08:06) [25]

    > DVM


    > Сергей М.


    Спасибо Попытаюсь.
 
Конференция "WinAPI" » Получение Handle окон по их PID [D7, WinXP]
Есть новые Нет новых   [134435   +36][b:0][p:0]