WINAPI И процессы?

Тема в разделе "WASM.WIN32", создана пользователем red_Human, 5 окт 2008.

  1. red_Human

    red_Human New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2008
    Сообщения:
    182
    как мне нормально завершить процесс средствами WINAPI?
     
  2. red_Human

    red_Human New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2008
    Сообщения:
    182
    Желательно исходник на C
     
  3. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    ExitProcess(0);
     
  4. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Свой - Kernel32!ExitProcess(ntdll.LdrShutdownProcess/CsrClientCallServer(CsrpTerminateProcess)/NtTerminateProcess).
    Чужой - NtTerminateProcess.
    [Винапи - TerminateProcess]
     
  5. red_Human

    red_Human New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2008
    Сообщения:
    182
    Спасибо! Как выяснить PID процессса, рылся в MSDN не нашел
     
  6. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Для текущего процесса.
    DWORD GetCurrentProcessId(VOID)

    Для чужого используется FindWindow/GetWindowThreadProcessId

    Код (Text):
    1. invoke FindWindow, NULL, addr szCaption ; szCaption заголовок окна
    2. invoke GetWindowThreadProcessId, eax, addr lpPID  ; lpPID - идентификатор процесса
     
  7. red_Human

    red_Human New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2008
    Сообщения:
    182
    Спасибо!
     
  8. Klayd

    Klayd Степан

    Публикаций:
    0
    Регистрация:
    7 апр 2006
    Сообщения:
    59
    Адрес:
    Киев
    JCronuz
    процесс может не иметь окна, кривой способ имхо
     
  9. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    toolhelp api
     
  10. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Klayd данный способ используется в трейнерах, я разве говорил, что он универсален?
     
  11. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    red_Human
    JCronuz
    Один непонятный момент - причём тут окна. Необходимо знать по чём искать. Может процесс окно имеет, может процесс владеет хэндлом какимнибудь, или другой процесс создал. Нужно знать из чего исходить.
     
  12. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Clerk
    перебирая процессы через toolhelp api конечно же лучше.