c# 启动另外一个程序,然后让另外一个程序关闭自己

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
        private void ReStartWin(String path , String file)
        {
            System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo();
            //设置外部程序名
            info.FileName = file;
            //设置外部程序的工作目录为
            info.WorkingDirectory = path;
            //正常方式启动
            info.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
            //声明一个程序类
            System.Diagnostics.Process Proc;
            try
            {
                Proc = System.Diagnostics.Process.Start(info);
                System.Threading.Thread.Sleep(500);
            }
            catch (System.ComponentModel.Win32Exception)
            {
                return;
            }

        }
        private bool CloseProc(string ProcName)
        {
            bool result = false;
            System.Collections.ArrayList procList = new System.Collections.ArrayList();
            string tempName = "";

            foreach (System.Diagnostics.Process thisProc in System.Diagnostics.Process.GetProcesses())
            {
                tempName = thisProc.ProcessName;
                procList.Add(tempName);
                if (tempName == ProcName)
                {
                    if (!thisProc.CloseMainWindow())
                        thisProc.Kill(); //当发送关闭窗口命令无效时强行结束进程     
                    result = true;
                }
            }
            return result;
        }

上面的两个函数,一个用来启动其他程序,一个用来关闭其他程序。当你需要做软件升级功能的时候。就需要启动升级程序,升级自己,但是首先要关闭掉自己,再进行升级。升级完成后,还要再启动一下被升级的程序。

c#制作简单启动画面 声明:代码照搬自SharpDevelop源码。   启动画面是程序启动加载组件时一个让用户稍微耐心等待的提示框。一个好的软件在有启动等待需求时必定做一个启动画面。启动画面可以让用户有心理准备来接受程序加载的缓慢,还可以让用户知道加载的进度和内容。本文只是记录最简单的构架。 VS2010创建一个C# Windows窗体应用程序,将主窗体改名为FormMain,再创建一个窗体起名为SplashS 阅读详情

相关推荐

C#实现关闭外部程序的方法详解

htmltable {th, td {th {pre {简介:本文深入探讨了在C#关闭外部程序的技术细节。介绍了通过System.Diagnostics命名空间中的Process类来获取和控制进程对象的方法,包括强制关闭和优雅关闭进程的策略。同时,考虑了权限问题、异常处理、进程生命周期、多线程和异步操作以及进程间通信等要点。本文旨在帮助读者全面了解如何使用C#安全有效地关闭外部程序

weixin_30218749的博客 724

关于C#打开窗口的同时关闭自身窗口的两种实现方法

<br />例如有两个窗口FORM1及FORM2。<br />   第一种:  如果是VS2005平台及以上,在programer.cs文件中加上Application.Run(new Form2());<br />   第二种: 在Form2的构造函数中调用Form1模式对话框。代码如下:<br />       public Form2()<br />        {<br />            InitializeComponent();<br />            Form1 frm1

d8662110的专栏 805

C#程序关闭其他程序

C#程序关闭其他程序

C#如何彻底关闭自已,退出子线程?

C#关闭应用程序时如何关闭子线程?      托管线程或者是后台线程,或者是前台线程。后台线程不会使托管执行环境处于活动状态,除此之外,后台线程与前台线程是一样的。一旦所有前台线程在托管进程 (其中 .exe 文件是托管程序集)中被停止,系统将停止所有后台线程并关闭。通过设置 Thread.IsBackground 属性,可以将一个线程指定为后台线程或前台线程。例如,通过将 Thread.IsB...

weixin_34198583的博客 371

C# 进程(一)C#程序启动一个进程.exe文件,关闭该进程

一、启动 string strPathExe = Environment.CurrentDirectory + "\\FaceRecognition" + "\\IDFaceDemo.exe"; Process process = new System.Diagnostics.Process(); process.StartInfo.FileName = strPathExe; process...

xpj8888的博客 8468

C#启动外部程序的几种方法

二、通过Process类启动外部程序的一般流程。注:以上包含了以管理员权限运行外部程序的方法。启动外部程序通过事件监视其退出。2.配置启动选项(输入输出等)启动外部程序无限等待其退出;启动外部程序不等待其退出;1.创建Process对象。启动外部程序等待其推出;

weixin_65414269的博客 3457

C#C#调用进程打开一个exe程序

可以调用的程序可以不是C#程序,可以是其他应用程序,例如windows自带的一些工具,或者其他语言做的程序,只要是exe都可以启动进程。

杰西笔记 3572

C#exe启动另外一个exe时的关闭方法

C#exe启动另外一个exe时的关闭方法

wangnaisheng的专栏 2042

C#程序启动关闭外部程序

参考: 【1】C#启动外部程序的几种常用方法汇总 【2】C# 调用exe程序总结 【3】MSDN文档:Process 类 【4】C# 进程Process基本的操作说明 【5】C#操作进程(Process) 1 方法 主要使用Process类。位于System.Diagnostics命名空间 有两类方法 (1)一种是定义一个Process实例,对这个实例的属性进行配置,然后启动它。类似与【2】中那样...

kevinshift的博客 4879

C# 启动关闭 外部应用程序

C# 启动关闭外部应用程序描述启动外部应用程序关闭外部应用程序 描述 C# 启动外部应用程序还是很简洁方便的。 需要注意的是,外部程序的路径问题: appName = "xxx.exe" 或 appName = "xxx/xxx.exe" 所在程序集:using System.Diagnostics 同理C# 关闭外部应用程序也是这样,不过这里提供一种相对较好的方式,下面会讲解为什么这样用。 启动外部应用程序 这里提供三种方案,当然也有其他的方案,只是我认为这三种相对更好一点 using Sy

视觉软件 3950

C#-进程-程序启动一个进程.exe文件,关闭该进程

沧海箫剑 一、启动 string strPathExe = Environment.CurrentDirectory + "\\FaceRecognition" + "\\IDFaceDemo.exe"; Process process = new System.Diagnostics.Process(); process.StartInfo.FileName = strPathExe;...

cxu123321的博客 1124

WPF 程序启动关闭外部.exe程序

WPF 程序启动关闭外部.exe程序 当需要在WPF程序启动时,启动另一外部程序(.exe程序)时,可以按照下面的例子来: C#后台代码如下: 开启一个程序: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; us...

BeanGo的博客 5056

c#退出窗口跳转_关于winform如何如在关闭一个窗口时打开另外一个窗口

我们在做winform时会有一个非常常见的功能,比如有一个专门用来登陆的窗体,一般来说登陆的窗体点击登陆后会关闭当前登陆的这个窗体打开程序的主窗体。如果直接想的话就会写出private void btnLogin_Click(object sender,EventArgs e){this.Close();MainForm mf = new MainForm();mf.Show();}新手的一般会这...

weixin_39859909的博客 1378

C#启动一个外部程序的多种方法

先引用命名空间:using System.Diagnostics;小例://在现有窗口中打开baiduSystem.Diagnostics.Process.Start("http://www.baidu.com"); //在新窗口中打开baiduusing System.Diagnostics;Process ps=new Process();string yourURL="htt

jiangxinyu的专栏 2万+

C#中使用DOS命令关闭当前正在运行的程序并重新启动

C#中可以利用通过Pocess.Start调用Dos命令来完成很多操作,而且非常方便。例如关闭当前的应用程序,重新启动电脑等。 下面介绍几个常用的命令: //重新启动电脑的命令 private void RestartPC() { //重启电脑的命令发出 Process.Start("shutdown.exe"...

weixin_30555753的博客 128

C#控制台程序启动调试结束后让窗口不自动关闭

解决调试时自动关闭窗口的问题

ToabyKing的博客 7339

C# 启动EXE 关闭EXE ProcessStartInfo

VS-C++ 系列:所有相关C++文章链接. VS-C# 系列:所有相关C#文章链接. bat 系列:所有相关bat文章链接. OpenCV 系列:所有相关OpenCV文章链接. Keil 系列:所有相关文章链接 所有内容均以最小系统调试成功;逐步提供低分源码工程下载! 保证每行代码都经过验证! 如有疑惑,欢迎留言,看见即回;祝好__by Dxg_LC 序言: 1、以上链接为方便整理查看资料用;伴随博文发布更新,如果有不正确处,感谢指正 2、因本人能力有限若有不正确之处或者相关超链接失效,请于相关文章内

Dxg团队 1204

C# WinForm程序添加启动画面

<br /><br />如果程序在装载时需要进行较长时间的处理,最好使用启动画面,一方面美化程序,一方面可以不使用户面对着一片空白的程序界面。 <br />我手头上一个小项目主界面启动时需要检查用户文件及运行环境是否有效,需要一段时间处理,因此想到要添加一个启动画面,在网上搜了一阵,发现下面两个方案:<br />1、用C#程序启动画面并只允许一个应用程序实例运行 <br />http://www.zahui.com/html/14/36790.htm <br />2、HOW TO:溅射屏幕(Splash

helloiamkitty的专栏 4319

打开另外一个进程和关闭另外一个进程

摘要:本文展示了两种Windows进程操作方法:1)使用CreateProcess启动"cconsoleapp.exe"并等待其结束,获取退出代码;2)启动记事本程序后立即终止。代码演示了STARTUPINFO、PROCESS_INFORMATION结构体的使用,以及CreateProcess、WaitForSingleObject、GetExitCodeProcess和TerminateProcess等API函数的调用方式,最后包含进程句柄的清理操作。

chinayu2007的专栏 236
上一篇: c++ builder 调用命令行,并获取命令行的内容
下一篇: python3.9.6 用Pyinstaller打包PyQt5出现No module named ‘PyQt5.sip‘ ,如何解决?
vrix
博客等级 码龄23年 669粉丝 167原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值