2

我使用 Visual Studios 在 C++ 中创建了一个 Windows 服务,现在我希望该服务运行一个 exe 文件。该服务设置为每次计算机启动时启动

我知道我需要使用代码来定位 exe 的路径,C:\MyDirectory\MyFile.exe但是如何从服务中实际运行文件?

我在这里阅读了有关流程启动方法的信息,但我不确定如何使用它

4

1 回答 1

1

您可以在服务中使用 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);
}
于 2013-04-18T14:16:21.437 回答