System.Diagnostics 记录

之前写工具时用到了System.Diagnostics.Process 和 System.Diagnostics.ProcessStartInfo 来实现在Unity里打开第三方软件,感觉这个操作很骚,特此记录一下。

Process

Docs
提供对本地和远程进程的访问权限并使你能够启动和停止本地系统进程。

属性注解
BasePriority获取关联进程的基本优先级。
ProcessName获取该进程的名称。
StartInfo获取或设置要传递给 Start() 的 Process 方法的属性。
StartTime获取关联进程启动的时间。
Close()释放与此组件关联的所有资源。
Dispose()释放由 Component 使用的所有资源。
Dispose(Boolean)释放此进程使用的所有资源。
Kill()立即停止关联的进程。
Kill(Boolean)立即停止关联的进程,并可选择停止其子/后代进程。
OnExited()引发 Exited 事件。
Start()启动(或重用)此 Process 组件的 StartInfo 属性指定的进程资源,并将其与该组件关联。
Start(ProcessStartInfo)启动由包含进程启动信息(例如,要启动的进程的文件名)的参数指定的进程资源,并将该资源与新的 Process 组件关联。
Start(String)通过指定文档或应用程序文件的名称来启动进程资源,并将资源与新的 Process 组件关联。

ProcessStartInfo

Docs

指定启动进程时使用的一组值。

属性注解
属性
ArgumentList获取启动应用程序时要使用的命令行参数集合。 添加到列表的字符串无需先进行转义。
Arguments获取或设置启动应用程序时要使用的一组命令行参数。
CreateNoWindow获取或设置指示是否在新窗口中启动该进程的值。
FileName获取或设置要启动的应用程序或文档。
WindowStyle枚举值之一,它指示是在最大化窗口、最小化窗口、正常(即非最大化也非最小化)窗口还是在不可见的窗口中启动进程。 默认值为 Normal。

方式一

使用类的实例 Process 来启动进程。【这里以SublimeText为例】

 		Process process = new Process();
        ProcessStartInfo startInfo = new ProcessStartInfo();
        startInfo.FileName = "C:\\Sublime Text\\sublime_text.exe";
        process.StartInfo = startInfo;
        process.Start();

方式二

使用 Process 类本身和静态 Start 方法来启动进程。

其一

	    Process.Start("C:\\Sublime Text\\sublime_text.exe");

其二

	    ProcessStartInfo startInfo = new ProcessStartInfo();
        startInfo.FileName = "C:\\Sublime Text\\sublime_text.exe";
        Process.Start(startInfo);

关于SatartInfo里的Arguments 和 ArgumentList

ArgumentList :获取启动应用程序时要使用的命令行参数集合。 添加到列表的字符串无需先进行转义。

ArgumentList 和 Arguments 属性彼此独立, 只能同时使用其中的一个属性。 这两个 API 之间的主要区别在于:对 ArgumentList 所提供的参数进行转义并 在内部生成一个字符串,该字符串将在调用时传递给操作系统 Process.Start(info) 。 因此,如果不确定如何正确地转义参数,则应选择 ArgumentList 而不是 Arguments

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值