【转】winform调用外部exe
2017-10-11 13:50
225 查看
1.在主界面添加调用外部exe程序的Button,双击此Button进入代码编辑页面。
在程序的开始using System.Diagnostics;
然后在初始化函数的上方定义private static System.Diagnostics.Process p;
2.在Button的双击事件中,添加如下代码:
if (p == null)
{
p = new System.Diagnostics.Process();
p.StartInfo.FileName = "应用程序名字.exe";
p.Start();
}
else
{
if (p.HasExited) //是否正在运行
{
p.Start();
}
}
p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
}
3.若想关闭主程序的同时也关闭调用的程序,需要在退出程序的按钮事件中添加如下代码:
Process[] pProcess;
pProcess = Process.GetProcesses();
for (int i = 1; i <= pProcess.Length - 1; i++)
{
if (pProcess[i].ProcessName == "应用程序名字") //任务管理器应用程序的名
{
pProcess[i].Kill();
break;
}
}
但是这里有个问题,点击Button调用外部exe程序后,若将外部exe程序最小化,此时再点击主界面的调用按钮时,exe程序不能显示在屏幕的最前端,只能手动从任务栏将其窗口正常化。一时不知如何解决,不过也无伤大雅。
在程序的开始using System.Diagnostics;
然后在初始化函数的上方定义private static System.Diagnostics.Process p;
2.在Button的双击事件中,添加如下代码:
if (p == null)
{
p = new System.Diagnostics.Process();
p.StartInfo.FileName = "应用程序名字.exe";
p.Start();
}
else
{
if (p.HasExited) //是否正在运行
{
p.Start();
}
}
p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
}
3.若想关闭主程序的同时也关闭调用的程序,需要在退出程序的按钮事件中添加如下代码:
Process[] pProcess;
pProcess = Process.GetProcesses();
for (int i = 1; i <= pProcess.Length - 1; i++)
{
if (pProcess[i].ProcessName == "应用程序名字") //任务管理器应用程序的名
{
pProcess[i].Kill();
break;
}
}
但是这里有个问题,点击Button调用外部exe程序后,若将外部exe程序最小化,此时再点击主界面的调用按钮时,exe程序不能显示在屏幕的最前端,只能手动从任务栏将其窗口正常化。一时不知如何解决,不过也无伤大雅。
相关文章推荐
- c#的winform调用外部exe作为子窗体
- C#Winform调用外部exe作为子窗体
- C#Winform调用外部exe作为子窗体
- Unity调用外部EXE或Shell命令
- Unity调用外部EXE和启动浏览器(手机端也可以启动IE内核)
- Qt调用外部exe并同步显示输出
- asp.net调用外部exe程序
- VFP调用外部Exe文件,执行完后,再接着执行本程序(经典转载)
- 【Winform】Webservice调用服务器端EXE
- C#调用cmd.exe程序和外部程序
- flex air应用程序在windows环境下调用外部exe程序的一种方法
- 在Winform混合式框架中整合外部API接口的调用
- C# ASP.NET Webservice调用外部exe无效的解决方法
- 怎样才能在C#桌面应用程序(winform)中调用运行EXE文件?
- 用java实现外部调用exe文件
- vc++调用外部可执行程序例子——调用ffmpeg.exe
- 在Sql Server中调用外部EXE执行程序引发的问题
- Unity C#调用外部exe程序的方法
- C#如何调用外部exe程序
- VC中调用外部EXE程序方法(转)