我想我的應用程序可以防止從Windows關閉。我知道有一個系統命令來做到這一點。但不適用於我的程序。 我使用此代碼爲「取消」的窗口關閉:C#取消Windows關機
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason.Equals(CloseReason.WindowsShutDown))
{
MessageBox.Show("Cancelling Windows shutdown");
string cmd = "shutdown /a";
Process.Start(cmd);// for executing system command.
}
}
,並使用此代碼,但沒有工作:(:
public Form1()
{
InitializeComponent();
SystemEvents.SessionEnding += SessionEndingEvtHandler;
}
private void SessionEndingEvtHandler(object sender, SessionEndingEventArgs e)
{
MessageBox.Show("Cancelling Windows shutdown");
string cmd = "shutdown /a";
Process.Start(cmd);// for executing system command.
}
我將不勝感激,如果有人給我解釋一下怎麼樣可在「取消」窗口關閉。 感謝
在Windows的現代版本,應用程序不能做到這一點,在Vista中引入IIRC –
的變動情況說明如下:HTTP:// MSDN .microsoft.com/en-us/library/ms700677.aspx即使應用程序阻止關機,用戶也可以覆蓋該應用程序並強制它。 –
'shutdown/a'只會取消關機前的超時時間(例如,如果您已通過'shutdown/t 30'啓動系統關機)。一旦關機過程本身已經開始,它就不能停止。 –