使用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 项目 使用

相关推荐
一个帅气昵称啊1 小时前
.Net C# AI智能体开发-AI智能体
人工智能·c#·.net
李高钢19 小时前
C# WinForms 架构与项目实战:多窗体通信、三层架构、数据库、日志与配置
架构·c#·winforms
OPEN-F1 天前
Python进阶教程:自动化办公实战
python·c#·自动化
czhc11400756631 天前
C# 处理体数据:装、钉、交、取消
c#
淡海水1 天前
03-03-线性-LinkedList-T-源码不变式与选择边界
windows·链表·c#·编译·linkedlist·clr·机器码
longxiaozhang62 天前
C# Array类:数组其实没那么难
开发语言·c#
longxiaozhang62 天前
C#运算符重载:让对象也能使用“加减乘除”
开发语言·c#
花落人散处2 天前
C# 核心编程知识点总结:网络编程、委托与事件、异步编程与LINQ
c#
fl1768312 天前
基于C#WPF实现的内存加速球清理类似360加速球内存清理
开发语言·c#·wpf