ala*_*a27 5 .net c# wpf windows-7
我想让用户决定在Windows关闭或注销时是否要在我的应用程序上执行最后一个请求。因此,我正在使用“ SessionEnding”事件。
以下代码已触发,但不起作用。这是最简单的示例:
public App()
{
this.SessionEnding += App_SessionEnding;
}
void App_SessionEnding(object sender, SessionEndingCancelEventArgs e)
{
e.Cancel = true;
}
Run Code Online (Sandbox Code Playgroud)
恐怕我以前在计算机中使用过Boost程序(例如CCleaner),并且某种程度上它使该事件无效。= O
当我向事件中添加MessageBox并请求注销计算机时,MessageBox出现,但是我没有时间单击某处,因为1秒钟后系统注销。系统似乎没有在等待我的应用程序。
Obs:我正在使用Windows 7。
小智 1
我尝试了您的代码示例,但没有成功...但是我将其放入主窗口中,导致应用程序关闭,并且 MessageBox 无限期地显示,直到我单击关闭。这有帮助吗?
protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
{
MessageBox.Show("Blah", "Blah", MessageBoxButton.OK);
base.OnClosing(e);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1708 次 |
| 最近记录: |