使用c#程序打开windows软件

项目场景:

某些时刻我们可能需要定时去打开我们系统(仅限windows)中的软件,如记事本或者notepad或者visual studio,vscode 等等


问题描述

如何使用c#程序打开windows软件,

以下我们使用 .net 8版本

创建一个控制台程序展示

方式一

cs 复制代码
using System;
using System.Diagnostics;
using System.Reflection;
using System.Text;

// 获取进程句柄
Process process = new Process();
process.StartInfo.FileName = "notepad.exe";

process.StartInfo.Arguments = @"E:\Project\config.json";
process.Start();
IntPtr processHandle = process.Handle;
Console.WriteLine($"进程句柄: {processHandle}");

// 可以在这里进行其他与进程相关的操作,如监控进程状态等

// 等待进程结束
process.WaitForExit();

这里展示用记事本打开一个json文件,前提是这个文件路径是正确的,否则他会提示

当然还可以打开其他文件

方式二

代码是这样的

cs 复制代码
using System;
using System.Diagnostics;
using System.Reflection;
using System.Text;

// 获取进程句柄
Process process = new Process();
process.StartInfo.FileName = @"E:\新服务器.xlsx";
process.StartInfo.UseShellExecute = true; // 必须为true才能通过关联程序打开
process.Start();
IntPtr processHandle = process.Handle;
Console.WriteLine($"进程句柄: {processHandle}");

// 可以在这里进行其他与进程相关的操作,如监控进程状态等

// 等待进程结束
process.WaitForExit();

这个代码process.StartInfo.UseShellExecute = true; 是关键 否则程序会提示找不到路径报错,打不开相应的文件

总结

使用 process.StartInfo.FileName = @$"{}"; //使用路径

process.StartInfo.UseShellExecute = true;

可以打开你想要的文件,如果只想用记事本打开你需要的文件使用第一种方式即可,

以下只是使用控制台方式,可以将此代码嵌入其他.net 项目 使用

相关推荐
zwm2698888158 小时前
hd 3#负一西送风,能远程启不能远程停
c#
Ai-_Man8 小时前
Meta Muse还是不可以导出左侧所有对话,只能点进去单条内容导出,方法不对吗?
开发语言·人工智能·ai·小程序·c#·1024程序员节
2401_8858850417 小时前
国际语音C#接口怎么写?.NET环境下实现国际语音验证码批量下发
开发语言·c#·.net
淡海水1 天前
07-03-源码-.NET Core GC标记与扫描
unity·c#·.netcore·gc
波力海苔夹心脆6751 天前
C# string 字符串方法大全:判空、查找、截取、分割、替换一篇讲透
经验分享·c#·.net·字符串·string·入门教程
阿松爱学习2 天前
【Unity开发】Unity长截图功能实现
unity·c#·游戏引擎
_oP_i2 天前
Windows 11 家庭中文版 25H2
c#
unicrom_深圳市由你创科技2 天前
电池化成曲线MES追溯:关键点提取与验证
c#
老王IT2 天前
C#语言基础语法介绍
开发语言·c#
人丰2 天前
一次生产卡顿复盘:BI 数据抽取引发 PostgreSQL 长事务事故
数据库·c#