【发布时间】:2015-02-04 22:44:51
【问题描述】:
参考这个问题:.net - Reboot machine from a C#/WPF App
我正在尝试创建一个 c#/.net 应用程序,即使会话被锁定(即用户已登录,此应用程序正在运行,但会话被锁定)也可以重新启动机器。
我从问题中尝试了这个:System.Diagnostics.Process.Start("shutdown.exe", "-r -t 0");
但显然只有在会话解锁时才有效。此外,在阅读此内容后:MSDN - InitiateSystemShutdown Function 似乎InitiateSystemShutdown 功能将显示系统关闭对话框,这似乎不适合我的目的。
还有其他方法吗?
【问题讨论】:
-
反对票的理由是什么?
-
你为什么要这样做?您要解决的真正问题是什么?让应用程序在没有警告的情况下启动重新启动并不是最友好的行为。可能有其他方法可以做你想做的事,或者在用户同意的情况下提前安排重启是可以接受的
-
@Panagiotis 有趣,我刚刚编辑了问题以删除此信息。我正在向我现有的程序添加一个功能,该程序在我们网络上的多台机器登录时运行。在一天结束时,机器需要注销(而不是锁定)。有时它们只是被锁定(未注销)。我可以看到这一点,因为我的程序仍在运行。这个想法是我可以重新启动被锁定的机器。
-
您为什么要这样做而不是关闭?无论如何,您不需要本地程序来关闭/重新启动。您可以安排用户机器上的命令运行,例如每天凌晨 2 点。您可以使用组策略将计划任务部署到所有计算机。
-
重新启动与关闭,因为我需要它们在早上可用。问题是,我的网络上有数百台这样的机器,添加计划任务会很麻烦。无论如何,我的问题是在 c# 中是否有另一种方法可以做到这一点。我知道还有其他方法可以重新启动计算机。
标签: c# .net system-shutdown