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
浙公网安备 33010602011771号