16,548
社区成员




/// <summary>
/// 设置具体的操作,以便服务可以执行它的工作。
/// </summary>
virtual void OnStart(array<String^>^ args) override{
PROCESS_INFORMATION piProcInfo;
STARTUPINFO siStartInfo;
siStartInfo.cb = sizeof(STARTUPINFO);
siStartInfo.lpReserved = NULL;
siStartInfo.lpReserved2 = NULL;
siStartInfo.cbReserved2 = 0;
siStartInfo.lpDesktop = NULL;
siStartInfo.dwFlags = 0;
CreateProcess(NULL,"C:\\some_place\\you_program.exe",NULL,NULL, 0, 0, NULL, NULL, &siStartInfo, &piProcInfo);
}
/// <summary>
/// 停止此服务。
/// </summary>
virtual void OnStop() override{
PROCESS_INFORMATION piProcInfo;
STARTUPINFO siStartInfo;
siStartInfo.cb = sizeof(STARTUPINFO);
siStartInfo.lpReserved = NULL;
siStartInfo.lpReserved2 = NULL;
siStartInfo.cbReserved2 = 0;
siStartInfo.lpDesktop = NULL;
siStartInfo.dwFlags = 0;
CreateProcess(NULL,"taskkill /F /IM you_program.exe",NULL,NULL, 0, 0, NULL, NULL, &siStartInfo, &piProcInfo);
}