C#启动外部EXE程序,退出本系统
1、C#按钮程序启动外部的EXE文件
private void BT_Others_Click(object sender, EventArgs e)
{
System.Diagnostics.ProcessStartInfo process = new ProcessStartInfo();
process.FileName = Path.Combine("", EXEAdress); //EXEAdress为exe程序所在的位置
process.UseShellExecute = false;
System.Diagnostics.Process.Start(process);
this.Hide();
this.Dispose();
}
private void calPT_Click(object sender, RoutedEventArgs e)
{
string appName = AppDomain.CurrentDomain.BaseDirectory;
appName += "\\software\\ComXO.exe"; //当前exe文件的位置位于运行文件目录下
if (File.Exists(appName))
{
System.Diagnostics.ProcessStartInfo process = new ProcessStartInfo();
process.FileName = System.IO.Path.Combine("", appName);
process.UseShellExecute = false;
System.Diagnostics.Process.Start(process);
}
else
{
MessageBox.Show("exe不存在!");
}
}
2、运行EXE文件后连不上数据库的原因及解决方法
当前:路径一致的问题,需要把运行的C#.exe放到外部调用的exe程序同一路径下。
如图:
3、退出本系统
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("确定退出程序?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
Application.Exit();
}
}
上述方法会跳出两次提示框
改进:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("确定退出程序?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
e.Cancel = false;
}
else
{
e.Cancel = true;
}
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
Application.Exit();
}
若存在无法完全退出程序,可在Application.Exit();
后面追加System.Environment.Exit(0);
https://blog.csdn.net/sunzixiao/article/details/128457506
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY