我知道这可以在C#/.Net中完成,但我想知道是否可以调用Windows API来完成?
我有一个服务将服务DHCP请求,当我想要更新服务的配置时,我需要停止服务,重写其INI文件,然后再次启动服务。
非常感谢任何帮助!
我知道这可以在C#/.Net中完成,但我想知道是否可以调用Windows API来完成?
我有一个服务将服务DHCP请求,当我想要更新服务的配置时,我需要停止服务,重写其INI文件,然后再次启动服务。
非常感谢任何帮助!
void Watchdog::OnTimeout()
{
STARTUPINFO si = { };
si.cb = sizeof(STARTUPINFO);
GetStartupInfo(&si);
PROCESS_INFORMATION pi = { };
// is modified by the call to CreateProcess (unicode version).
TCHAR szCmdLine[] = _T("cmd.exe /C \"net stop <yourservicenamehere> & net start <yourservicenamehere>\"");
// send shell command to restart our service.
if (!CreateProcess(NULL, szCmdLine, NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi))
{
// do some error reporting...
LOG("*** ERROR *** Watchdog timeout. Restart attempt failed. Last error: 0x%x\n", GetLastError());
}
}