windows C++守护进程实现

  • Post author:
  • Post category:其他



#include "stdafx.h"
#include <iostream>
#include <windows.h>
#pragma comment(linker, "/subsystem:\"windows\"   /entry:\"mainCRTStartup\"") //隐藏控制台窗口
using namespace std;
char* cmd = "./test.exe";


int main()
{
	STARTUPINFO si;

	PROCESS_INFORMATION pi; 

	ZeroMemory(&si, sizeof(si));
	si.cb = sizeof(si);
	ZeroMemory(&pi, sizeof(pi));
	do {
		if (!CreateProcess(NULL, cmd, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
		{
			//cout << "创建进程失败.." << GetLastError() << endl;
			return 0;
		}

		// 等待进程退出... 
		WaitForSingleObject(pi.hProcess, INFINITE);
		//关闭进程和句柄 
		CloseHandle(pi.hProcess);
		CloseHandle(pi.hThread);
	} while (true);
	exit(0);
	return 0;
}




版权声明:本文为wang03989原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。