c++ 守护进程程序

 STARTUPINFO si;

    PROCESS_INFORMATION pi; //进程信息:

    ZeroMemory(&si, sizeof(si));
    si.cb = sizeof(si);
    ZeroMemory(&pi, sizeof(pi));
 do
 {
  //创建子进程,判断是否执行成功
  if(!CreateProcess( NULL,"cmd /c C://pic//1.jpg",NULL,NULL,FALSE,0,NULL,NULL,&si,&pi))
  {
   cout << "创建进程失败.." << GetLastError() << endl;
   system("pause"); //用于测试
   return 0;
  }
  //进程执行成功,打印进程信息
  cout << "以下是子进程的信息:" << endl;
  cout << "进程ID pi.dwProcessID: " << pi.dwProcessId << endl;
  cout << "线程ID pi.dwThreadID : " << pi.dwThreadId << endl;
  // 等待知道子进程退出...
  WaitForSingleObject( pi.hProcess, INFINITE);
  //检测进程是否停止
  //WaitForSingleObject()函数检查对象的状态,如果是未确定的则等待至超时
  //子进程退出
  cout << "子进程已经退出..." << endl;
  //关闭进程和句柄
  CloseHandle(pi.hProcess);
  CloseHandle(pi.hThread);
  //system("pause");//执行完毕后等待
  //Sleep(1);
 }while(true);//如果进程推出就再次执行方法

你可能感兴趣的:(C++,c,测试,cmd,null,System)