CreateProcess实例和TerminateProcess实例
作者:admin 日期:2010-07-15
这个实例编写了两个函数,分别叫做shell和kill(用到的api分别是CreateProcess和,TerminateProcess).shell函数的参数是一个你要执行的可执行文件的名称,当然只要文文件格式符合exe的pe格式就可以(比如你可以把一个calc.exe改名为calc.jpg用这个函数照样可以执行),然后他返回新创建的这个进程的pid。
第二个函数的作用是结束一个进程,你只须传入这个进程的pid即可。若成功返回true, 否则返回false。
很简单吧。
#include <windows.h>
DWORD shell(char* cmdline)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
GetStartupInfo(&si);
CreateProcess(NULL,
cmdline,
NULL,
NULL,
false,
0,
NULL,
NULL,
&si,
&pi
);
return pi.dwProcessId;
}
bool kill(DWORD pid)
{
bool result=false;
HANDLE hprocess=OpenProcess(PROCESS_TERMINATE,false,pid);
result=TerminateProcess(hprocess,0);
CloseHandle(hprocess);
return result;
}
int main()
{
DWORD pid=shell("calc.exe");
if(pid)
{
MessageBox(NULL,"process created successfully!\n","ok",MB_OK);
}
kill(pid);
return 0;
}