ID Процесса

Тема в разделе "WASM.BEGINNERS", создана пользователем avatarer, 27 фев 2010.

  1. avatarer

    avatarer New Member

    Публикаций:
    0
    Регистрация:
    6 фев 2010
    Сообщения:
    5
    Как можно найти ид главного процесса, зная ид треда?
     
  2. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    NtQueryInformationThread(...ThreadBasicInformation...)
    Код (Text):
    1. typedef struct THREAD_BASIC_INFORMATION {
    2.  long ExitStatus;
    3.  long TebBaseAddress;
    4.  [b]CLIENT_ID CID;[/b] //наблюдаем и PID и TID
    5.  long AffinityMask;
    6.  long Priority;
    7.  long BasePriority;
    8. } THREAD_BASIC_INFORMATION;
     
  3. megaaa

    megaaa New Member

    Публикаций:
    0
    Регистрация:
    29 май 2009
    Сообщения:
    51
    Код (Text):
    1. THREAD_BASIC_INFORMATION Threads;
    2.     pZwQueryInformationThread( hThread, ThreadBasicInformation, &Threads, sizeof( THREAD_BASIC_INFORMATION ), 0);
    3.  
    4.     if ( Threads.ClientId.UniqueProcess
     
  4. megaaa

    megaaa New Member

    Публикаций:
    0
    Регистрация:
    29 май 2009
    Сообщения:
    51
    ну а hThread получаешь через OpenThread
     
  5. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Vista+
    GetProcessIdOfThread
     
  6. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Без референса SystemProcessInformation/SystemExtendedProcessInformation, SYSTEM_THREAD_INFORMATION.ClientId