Убийство процесса

Тема в разделе "WASM.BEGINNERS", создана пользователем vg, 25 май 2008.

  1. vg

    vg New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    475
    Процедура KillProcess должна убивать указанный по имени процесс. Но процесс не убивается.
    Где может быть ошибка?

    Код (Text):
    1. KillProcess      proto:DWORD
    2.  
    3. EnumWindowsProc proc hwin:DWORD,lParam:DWORD
    4.     LOCAL pid:DWORD
    5.  
    6.     invoke GetWindowThreadProcessId,hwin,addr pid
    7.     mov eax,pid
    8.     cmp uprocess.th32ProcessID,eax
    9.     jne @F
    10.     invoke DestroyWindow,hwin
    11. @@:
    12.     ret
    13. EnumWindowsProc endp
    14. KillProcess proc targetname:DWORD
    15.     LOCAL buffer[MAX_PATH]:BYTE
    16.     LOCAL hsnapshot:DWORD
    17. .data
    18. uprocess PROCESSENTRY32 <>
    19. .code
    20. jmp @F
    21. format db "%s",0
    22. @@:
    23.     invoke CreateToolhelp32Snapshot,TH32CS_SNAPPROCESS,0
    24.     mov hsnapshot,eax
    25.     mov uprocess.dwSize,sizeof PROCESSENTRY32
    26.     invoke Process32First,eax,addr uprocess
    27.     .while eax==TRUE
    28.         invoke wsprintf,addr buffer,addr format,addr uprocess.szExeFile
    29.         invoke lstrcmp,addr buffer,targetname
    30.         .if eax==0
    31.             invoke EnumWindows,addr EnumWindowsProc,0
    32.         .endif
    33.     invoke Process32Next,hsnapshot,addr uprocess
    34.     .endw
    35.     invoke CloseHandle,hsnapshot
    36.     xor eax,eax
    37.     ret
    38. KillProcess endp
     
  2. JamesB

    JamesB New Member

    Публикаций:
    0
    Регистрация:
    3 фев 2008
    Сообщения:
    66
    В коде.
    Ты перечисляешь процессы и каждое окно каждого процесса и просто разрушаешь окно. При чем тут убийство процесса неясно. А вообще в библии сказано "не убей". Так что не надо такие злые коды писать гы
     
  3. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    uprocess.th32ProcessID

    OpenProcess

    TerminateProcess
     
  4. vg

    vg New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    475
    2FED
    Да, я знаю про этот способ, но указанный мною выше, тоже должен работать. Я его когда-то использовал.
     
  5. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    vg Тебе ведь уже сказали что ты просто убиваешь окна процесса но никак не сам процесс