[英]Reboot Windows from within a service
是否可以從服務(Server 2008,Server 2012)中重新啟動Windows? 我試過了:
System.Diagnostics.Process.Start("cmd.exe /c shutdown -f -r -t 0")
無濟於事。 我在這里查看了解決方案:
http://www.stackoverflow.com/questions/1215139/reboot-machine-from-ac-wpf-app
而且機器只是不想重啟。
當我從命令行運行命令時,它可以工作。
cmd.exe /c shutdown -f -r -t 0
甚至
shutdown -f -r -t 0
從服務內部運行時沒有任何反應。 我什至修改了它以運行:
c:\\windows\\system32\\cmd.exe /c c:\\windows\\system32\\shutdown.exe -f -r -t 0
同樣的結果,什么也沒有發生。 同樣,當我從命令行運行時,它會正確重新啟動。
我會懷疑,因為窗口服務沒有GUI ...它無法運行命令提示符。
查看win32 API解決方案...例如ExitWindowsEx()或InitiateSystemShutdown或關閉
嘗試這個..
Process myPro = new Process()
myPro.StartInfo.FileName = "cmd.exe";
myPro.StartInfo.Arguments = “/c shutdown –f –r –t 0”;
myPro.StartInfo.UseShellExecute = false;
myPro.CreateNoWindow = true;
myPro.Start();
另外,您的cmd.exe文件在哪里? 如果沒有用完應用程序運行所在的目錄? 您可能需要提供一個指向cmd.exe文件的路徑。
例..
myPro.StartInfo.FileName = "c:\desktop\myStuff\cmd.exe";
希望能幫助到你
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.