windows系统调用 进程终止

2020-11-27 16:11

阅读:502

标签:style   blog   class   code   c   java   

soscw.com,搜素材
 1 #include "windows.h"
 2 #include "iostream"
 3 #include "stdio.h"
 4 using namespace std;
 5 
 6 static LPCTSTR q_szMutexName="w2kdg.ProcTerm.mutex.Suicide";
 7 
 8 HANDLE StartClone(){
 9     TCHAR szFilename[MAX_PATH];
10     GetModuleFileName(NULL,szFilename,MAX_PATH);
11 
12     TCHAR szCmdLine[MAX_PATH];
13     sprintf_s(szCmdLine,"\"%s\" \"child\"",szFilename);14 
15     STARTUPINFO si;
16 
17     ZeroMemory(reinterpret_castvoid*>(&si),sizeof(si));
18     si.cb=sizeof(si);
19     PROCESS_INFORMATION pi;
20 
21     BOOL bCreateOK=CreateProcess(
22         szFilename,
23         szCmdLine,
24         NULL,
25         NULL,
26         FALSE,
27         CREATE_NEW_CONSOLE,
28         NULL,
29         NULL,
30         &si,
31         &pi
32         );
33 
34     if(bCreateOK){
35         CloseHandle(pi.hProcess);
36         CloseHandle(pi.hThread);
37         return pi.hProcess;
38     }
39 
40     else return INVALID_HANDLE_VALUE;
41 }
42 
43 void Parent(){
44     cout"Creating the child process and waited child process to quit."endl;
45     HANDLE hchild=StartClone();
46     if(hchild!=INVALID_HANDLE_VALUE)
47     {
48         WaitForSingleObject(hchild,INFINITE);
49         cout"The child process had quited."endl;
50 
51     }
52 
53     else 
54         cout"Create child process failed."endl;
55 }
56 
57 
58 void Child(){
59     cout"Child id quiting"endl;
60     Sleep(5000);
61 
62 }
63 
64 int main(int argc,char * argv[]){
65     if(argc>1&&strcmp(argv[1],"child")==0){
66         Child();
67     }
68     else{
69         Parent();
70     }
71     return 0;
72 
73 }
soscw.com,搜素材

 

windows系统调用 进程终止,搜素材,soscw.com

windows系统调用 进程终止

标签:style   blog   class   code   c   java   

原文地址:http://www.cnblogs.com/593213556wuyubao/p/3733456.html


评论


亲,登录后才可以留言!