C#程序调用外部程序
翻 baidu.com 的时候偶然发现自己很久之前写的东东,时间太久了,都有些淡忘了,粘回自己的blog封存:-)
思海网络 出品(http://www.thinksea.com/)
C#程序调用外部程序
/*
* 编程语言:Visual Studio .NET C# (Beta 2)
* 作 者:迪泊威
* 功 能:通过C#程序调用 Windows 记事本程序 编辑一个
* 名为 test.txt 的文本文件。
*
* 在整个程序中 System.Diagnostics.Process.Start(Info)
* 为主要语句。
* 如果只是单独执行一个外部程序,可用一条如下代码即可:
* System.Diagnostics.Process.Start(
* "外部程序名","启动参数");
*/
using System;
class test
{
static void Main()
{
//声明一个程序信息类
System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo();
//设置外部程序名
Info.FileName = "notepad.exe";
//设置外部程序的启动参数(命令行参数)为test.txt
Info.Arguments = "test.txt";
//设置外部程序工作目录为 C:\
Info.WorkingDirectory = "C:\\";
//声明一个程序类
1 using System;
2
3 class test
4 {
5 static void Main()
6 {
7
8 //声明一个程序信息类
9 System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo();
10
11 //设置外部程序名
12 Info.FileName = "notepad.exe";
13
14 //设置外部程序的启动参数(命令行参数)为test.txt
15 Info.Arguments = "test.txt";
16
17 //设置外部程序工作目录为 C:\
18 Info.WorkingDirectory = "C:\\";
19
20 //声明一个程序类
21 System.Diagnostics.Process Proc ;
22
23 try
24 {
25 //
26 //启动外部程序
27 //
28 Proc = System.Diagnostics.Process.Start(Info);
29 }
30 catch(System.ComponentModel.Win32Exception e)
31 {
32 Console.WriteLine("系统找不到指定的程序文件。\r{0}", e);
33 return;
34 }
35
36 //打印出外部程序的开始执行时间
37 Console.WriteLine("外部程序的开始执行时间:{0}", Proc.StartTime);
38
39 //等待3秒钟
40 Proc.WaitForExit(3000);
41
42 //如果这个外部程序没有结束运行则对其强行终止
43 if(Proc.HasExited == false)
44 {
45 Console.WriteLine("由主程序强行终止外部程序的运行!");
46 Proc.Kill();
47 }
48 else
49 {
50 Console.WriteLine("由外部程序正常退出!");
51 }
52 Console.WriteLine("外部程序的结束运行时间:{0}", Proc.ExitTime);
53 Console.WriteLine("外部程序在结束运行时的返回值:{0}", Proc.ExitCode);
54 }
55 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!