#include <stdio.h>
#include <windows.h>
int main( int argc, char * argv[] )
{
if( argc == 2 )
{
HANDLE h;
h = OpenProcess( PROCESS_ALL_ACCESS, FALSE, atoi(argv[1]));
if( h )
CreateRemoteThread( h, 0, 0, 0, ExitProcess, 0, 0 );
}
return 0;
}
작업관리자에서 보이는 PID를 인자로 넘겨주면.. 그 함수 종료됩니다.
물론 거의 비정상종료를 하더군요.
다른 프로세스 공간에 쓰레드를 하나 만드는데... 그 쓰레드의 시작을 ExitProcess로 하니까.. 종료하는 것인데.. 막상 생각나는 입구함수가 저거 밖에 없어서 테스트 코드로 만들어 봤습니다.