C#之进程 Process.Start()用法举例

本文介绍如何利用C#的System.Diagnostics.Process.Start方法启动本地应用程序和服务,包括记事本、计算器等常用工具,并演示了如何通过调用shutdown.exe实现关机、重启等系统级操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个应用程序就是一个进程,而一个进程又是由多个线程组成的。进程帮助我们在内存中分配应用程序执行所需要的空间。

我们可以通过进程来直接操作应用程序。

System.Diagnostics.Process.Start("notepad.exe");        -- 打开记事本

System.Diagnostics.Process.Start("calc.exe ");                -- 打开计算器

System.Diagnostics.Process.Start("regedit.exe ");           -- 打开注册表

System.Diagnostics.Process.Start("mspaint.exe ");        -- 打开画图板

System.Diagnostics.Process.Start("write.exe ");              -- 打开写字板

System.Diagnostics.Process.Start("mplayer2.exe ");        --打开播放器

System.Diagnostics.Process.Start("taskmgr.exe ");          --打开任务管理器

System.Diagnostics.Process.Start("eventvwr.exe ");          --打开事件查看器

System.Diagnostics.Process.Start("winmsd.exe ");           --打开系统信息

System.Diagnostics.Process.Start("winver.exe ");              --打开Windows版本信息

System.Diagnostics.Process.Start("mailto: "+ address);    -- 发邮件

shutdown.exe:

参数:-s 关机   -r重启   -f强行   -t 时间    -a 取消关机   -l 注销    -i 显示用户界面

System.Diagnostics.Process.Start("shutdown.exe","-r");              -- 关闭并重启计算机

System.Diagnostics.Process.Start("shutdown.exe","-s -f");          -- 关闭计算机

System.Diagnostics.Process.Start("shutdown.exe","-s -f 30");     -- 30s后关闭计算机

System.Diagnostics.Process.Start("shutdown.exe","-l");               --注销计算机

System.Diagnostics.Process.Start("shutdown.exe","-a");              --撤销关闭计算机

参考链接::http://www.cnblogs.com/zeroone/archive/2013/01/13/2858837.html
### C# 中 `Process` 类的使用方法 在 C# 中,`System.Diagnostics.Process` 是用于启动和停止进程的一个重要类。它允许开发者通过编程方式控制外部应用程序的行为。以下是关于如何使用该类的一些基本概念以及示例。 #### 启动新进程 可以利用 `Start()` 方法来创建并运行新的进程实例。如果要传递参数给目标程序,则可以通过设置 `ProcessStartInfo.Arguments` 属性完成[^1]。 ```csharp using System; using System.Diagnostics; class Program { static void Main() { Process process = new Process(); process.StartInfo.FileName = "notepad.exe"; // Specify executable file. process.Start(); // Launch Notepad application. Console.WriteLine("Notepad was launched."); } } ``` #### 设置工作目录 当指定的工作路径不同于当前项目所在位置时,需调整 `WorkingDirectory` 参数以确保命令能够正常执行[^2]。 ```csharp process.StartInfo.WorkingDirectory = @"C:\Path\To\Your\Folder"; ``` #### 获取标准输出流数据 对于某些需要捕获其打印消息的应用来说,可通过重定向输入/输出实现这一功能[^3]。 ```csharp process.StartInfo.RedirectStandardOutput = true; string output = process.StandardOutput.ReadToEnd(); Console.WriteLine(output); ``` #### 结束正在运行的进程 一旦不再需要某个特定的任务继续存在下去的时候,就可以调用它的 CloseMainWindow 或 Kill 方法强制终止之[^4]。 ```csharp if (!process.HasExited) { try { process.Kill(); Console.WriteLine("The notepad process has been terminated."); } catch (Exception e) { Console.Error.WriteLine($"Error occurred while killing the process: {e.Message}"); } } ``` 以上就是有关于 C#Process 类的基础介绍及其实际应用场景举例说明。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值