我使用 Visual Studios 在 C++ 中创建了一个 Windows 服务,现在我希望该服务运行一个 exe 文件。该服务设置为每次计算机启动时启动
我知道我需要使用代码来定位 exe 的路径,C:\MyDirectory\MyFile.exe
但是如何从服务中实际运行文件?
我在这里阅读了有关流程启动方法的信息,但我不确定如何使用它
您可以在服务中使用 createprocess 函数来运行 exe。
TCHAR* path = L"C:\\MyDirectory\\MyFile.exe";
STARTUPINFO info;
PROCESS_INFORMATION processInfo;
ZeroMemory( &info, sizeof(info) );
info.cb = sizeof(info);
ZeroMemory( &processInfo, sizeof(processInfo) );
if (CreateProcess(path, NULL, NULL, NULL, TRUE, 0, NULL, NULL, &info, &processInfo))
{
::WaitForSingleObject(processInfo.hProcess, INFINITE);
CloseHandle(processInfo.hProcess);
CloseHandle(processInfo.hThread);
}