【发布时间】:2014-09-02 14:50:48
【问题描述】:
我在网上发现我可以安排关闭窗口这样做:
private void button1_Click(object sender, EventArgs e)
{
// Shutdown
Process.Start("shutdown", "/s /t 10");
}
private void button2_Click(object sender, EventArgs e)
{
// Cancel Shutdown
Process.Start("shutdown /a");
}
所以我已经绑定了一个按钮,甚至可以调用上述内容。有没有办法让我将取消关机的命令绑定到另一个按钮?
我已经搜索并没有找到任何有用的东西,我找到了一些类似的东西
Process.Start("cmd.exe", "shutdown /a");
or
Process.Start("shutdown /a");
但这些似乎都不起作用。
调用 Process.Start("shutdown /a");结果
System.dll 中出现“System.ComponentModel.Win32Exception”类型的未处理异常
【问题讨论】:
-
可以显示按钮事件的代码吗?也许您需要在可以检查
CanCancel但无法根据您提供的少量代码来判断的地方进行操作 -
要正确执行此操作,请查找 WM_QUERYENDSESSION (hintdesk.com/c-catch-shutdown-event-of-computer)。还有SessionEnding事件msdn.microsoft.com/en-us/library/…
-
如果您包含异常的消息和可能的 StackTrace 将会很有帮助。