我的基于GUI桌面的WPF 4.0(C#.Net 4.0)程序适用于SQL Server数据库.每次运行我的应用程序时,它都会通过ADO.NET Entity Framework创建与SQL Server的连接,如果SQL Server无法访问,则会抛出异常并显示MessageBox通知.
现在我希望在用户阅读此消息后,应用程序将关闭.我找到了三种方法:
Process.GetCurrentProcess().Kill();
Run Code Online (Sandbox Code Playgroud)
要么
this.Shutdown(); // Application.Current.Shutdown()
Run Code Online (Sandbox Code Playgroud)
要么
System.Environment.Exit(0);
Run Code Online (Sandbox Code Playgroud)
所有这些都可以正常工作并完成我需要的工作 - 在Windows任务管理器中关闭应用程序并终止应用程序的进程.
我想知道:
Application.Current.Shutdown()与this.Shutdown()以同样的方式来关闭应用?或者可能还有另一种更合适的方法来关闭WPF GUI应用程序?
Application.Exit() 因为我收到错误,对我不起作用:
事件'
System.Windows.Application.Exit'只能出现在+ =或 - =的左侧
谢谢.
我创建了一个带有注销选项的android应用程序onCreateOptionsMenu.Logout工作正常,但是当我再次按下后退按钮时,它会将我带到上一个活动,当它获得空值时,它会重定向到登录屏幕.现在我的登录屏幕一次又一次出现.当我按下后退按钮但我不知道如何完全关闭应用程序.
这是我在登录屏幕中处理后退按钮的代码:
@Override
public void onBackPressed() {
new AlertDialog.Builder(this)
.setTitle("BidNEMO")
.setMessage("Are you sure you want to exit?")
.setNegativeButton(android.R.string.no, null)
.setPositiveButton(android.R.string.yes, new OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
Main.super.onBackPressed();
finish();
}
}).create().show();
}
Run Code Online (Sandbox Code Playgroud)
请帮帮你..
哪个是关闭C#WPF应用程序的首选方法?
1)在主窗口中调用Window.Close()
2)在主窗口中调用Application.Current.Shutdown(0).
这两个在语义上是等价的还是我需要注意的微妙区别?
我正在使用Wix 3.6.我有一个问题,卸载如果任何窗口打开并显示在任务栏中(此窗口是我的msi的一部分,我正在尝试卸载),它会显示一个对话框,要求用户关闭该应用程序("在继续安装之前应关闭以下应用程序").
我试过以下,但没有运气.
<InstallExecuteSequence>
<Custom Action="WixCloseApplications"
Before="InstallInitialize">Installed</Custom>
<Custom Action="StartMonitor"
After="StartServices">NOT Installed</Custom>
</InstallExecuteSequence>
<util:CloseApplication Id="CloseMonitor" Target="Monitor.exe"
CloseMessage="yes" RebootPrompt="no">
Installed
</util:CloseApplication>
Run Code Online (Sandbox Code Playgroud)
我希望wix检测应用程序并在卸载过程中关闭它们.无需显示对话框提示.任何人都可以帮我实现它.
它工作正常,它是从命令提示符安装/ qn开关但没有/ qn开关我得到对话框("应继续安装前应关闭以下应用程序").有人可以帮我解决这个问题.
我正在尝试在使用 Wix 卸载之前关闭进程。我已经确认只要有一个可见的窗口它就可以工作,但是如果没有一个可见的窗口(这个应用程序大部分时间都是这种情况,因为它是一个系统托盘应用程序),卸载程序就会挂起,并且最终继续卸载,让进程继续运行。
根据此论坛帖子,Wix 过去似乎在关闭最小化应用程序时遇到问题,所以我想知道这是否相关?
关于我还能做些什么来确保进程关闭的任何建议?有什么办法可以尝试使用 Win32 api 在我的应用程序中捕获消息吗?
这是 CloseApplication 声明:
<util:CloseApplication Id="CloseApp" CloseMessage="yes" Target="App.exe" RebootPrompt="yes" />
Run Code Online (Sandbox Code Playgroud)
这是自定义操作:
<Custom Before="InstallInitialize" Action="WixCloseApplications">REMOVE = "ALL"</Custom>
Run Code Online (Sandbox Code Playgroud) 我想停止或关闭在android中运行在后台的应用程序.可能吗?如果是这样,如何实现这一点.请参阅任何链接将不胜感激.
提前致谢..