如何使用Windows服务启动程序?

时间:2013-04-18 14:12:24

标签: c++ windows visual-studio service exe

我使用visual studio在c ++中创建了一个Windows服务,现在我想让服务运行一个exe文件。该服务设置为每次计算机启动时启动

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

我读过有关流程启动方法here,但我不确定如何使用它

1 个答案:

答案 0 :(得分: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);
}