如何调用执行一个第三方EXE

xieshen947 2016-10-28 03:23:09
为什么一闪而过?
  private void button1_Click(object sender, EventArgs e)
{
string fname = @"C:\Program Files (x86)\7-Zip\7z.exe";
Process mp = new Process();
mp.StartInfo.FileName = fname;

mp.Start();

}
...全文
375 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 7 楼 xieshen947 的回复:
[quote=引用 6 楼 u012948520 的回复:] 7z.exe本来就是一闪而过的啊 你要解压软件的话调用7zFM.exe
是的,但是服务调用为什么不出现窗口呢,是不是因为localsystem的原因[/quote] 服务类程序本身就是隐藏窗口的 你把它添加到服务 看一下任务管理器里面有没有EXE那个名字的线程就知道了 批处理文件:服务名字和binPath自行修改,保存为bat,运行 @echo off set name=myname echo ============================================= echo 正在创建服务... sc create %name% binPath= "C:\my.exe" start= auto echo ============================================= echo 正在启动服务... sc start %name% echo ============================================= pause
drifter2002 2016-10-31
  • 打赏
  • 举报
回复
终端窗口执行完成后会关闭。如果想不即使关闭,写个Bat来调用并增加一个Pause 服务是后台运行的,不会有终端窗口的显示
白衣如花 2016-10-28
  • 打赏
  • 举报
回复
7z.exe本来就是一闪而过的啊 你要解压软件的话调用7zFM.exe
xieshen947 2016-10-28
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
Process 有具体方法,可以阻塞当前线程直到 Exe 退出。
可以了,但是服务调用还是失败的
xieshen947 2016-10-28
  • 打赏
  • 举报
回复
引用 3 楼 swordvming 的回复:
1.首先请判断你打开的第三方软件没有问题,可以改为一个txt文本进行测试; 2.楼上说的方法是这个

System.Diagnostics.Process process = new System.Diagnostics.Process();
process.WaitForExit()
可以了,但是服务调用还是失败的
不吃辣的阿银 2016-10-28
  • 打赏
  • 举报
回复
1.首先请判断你打开的第三方软件没有问题,可以改为一个txt文本进行测试; 2.楼上说的方法是这个

System.Diagnostics.Process process = new System.Diagnostics.Process();
process.WaitForExit()
  • 打赏
  • 举报
回复
Process 有具体方法,可以阻塞当前线程直到 Exe 退出。
夏天的枫 2016-10-28
  • 打赏
  • 举报
回复
我也遇到过一闪而过的情况,记得当时是要将你的exe(如果不是单纯的exe,还包含其他文件)所在文件夹包含在启动里面。。。
xieshen947 2016-10-28
  • 打赏
  • 举报
回复
第二个问题,使用写WINDOWS服务的方式将代码添加在onstart方法之中连一闪而过也看不到,请问是什么原因, 安装方式为localsystem
xieshen947 2016-10-28
  • 打赏
  • 举报
回复
引用 6 楼 u012948520 的回复:
7z.exe本来就是一闪而过的啊 你要解压软件的话调用7zFM.exe
是的,但是服务调用为什么不出现窗口呢,是不是因为localsystem的原因

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧