关机前等到保存完成
Before Shutdown wait till saving is finished
我有一个记录一些用户数据的应用程序。如果用户注销工作站,则需要保存此信息。
该程序是一个 windows 形式的 c# 应用程序。
目前我正在尝试通过下面的这个功能来做到这一点,它可以达到 95%,但不能达到 100%。
Application.Run(new Shutdown(_object));
private void Shutdown_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;``
_object.LogLogout(); //Save the logout to a file
}
我也尝试了这个功能,但是根本没有用。我不明白为什么。有什么提示吗?我完全被困在这里了。
Microsoft.Win32.SystemEvents.SessionEnded += new Microsoft.Win32.SessionEndedEventHandler(SystemEvents_SessionEnded);
Microsoft.Win32.SystemEvents.SessionEnding += new Microsoft.Win32.SessionEnding(SystemEvents_SessionEnding);
找到答案 shut-down 只有在表单仍然可见时才会停止。事实并非如此。因此我通过这样做解决了这个问题。
private void Shutdown_FormClosing(object sender, FormClosingEventArgs e)
{
if (systemShutdown)
{
this.Show();
//If GUI got closed delted active entry and log off
_object.LogLogout(); //Save the logout to a file
Thread.Sleep(100);
this.Hide();
}
}
我有一个记录一些用户数据的应用程序。如果用户注销工作站,则需要保存此信息。
该程序是一个 windows 形式的 c# 应用程序。
目前我正在尝试通过下面的这个功能来做到这一点,它可以达到 95%,但不能达到 100%。
Application.Run(new Shutdown(_object));
private void Shutdown_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;``
_object.LogLogout(); //Save the logout to a file
}
我也尝试了这个功能,但是根本没有用。我不明白为什么。有什么提示吗?我完全被困在这里了。
Microsoft.Win32.SystemEvents.SessionEnded += new Microsoft.Win32.SessionEndedEventHandler(SystemEvents_SessionEnded);
Microsoft.Win32.SystemEvents.SessionEnding += new Microsoft.Win32.SessionEnding(SystemEvents_SessionEnding);
找到答案 shut-down 只有在表单仍然可见时才会停止。事实并非如此。因此我通过这样做解决了这个问题。
private void Shutdown_FormClosing(object sender, FormClosingEventArgs e)
{
if (systemShutdown)
{
this.Show();
//If GUI got closed delted active entry and log off
_object.LogLogout(); //Save the logout to a file
Thread.Sleep(100);
this.Hide();
}
}