首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C#.NET 中启动进程使用UseShellExecute 设置为 true 和 false 分别代表什么意思?

在 .NET 中创建进程,可以传入 ProcessStartInfo 类的一个新实例。在此类型中,有一个 UseShellExecute 属性。...本文介绍 UseShellExecute 属性的作用,设为 true 和 false ,分别有哪些进程启动行为上的差异。...UseShellExecute = true 调用的是 ShellExecute UseShellExecute = false 调用的是 CreateProcess 当然,如果你知道这两个函数的区别,...也就是说,你可以在 Process.Start 的时候传入这些: 一个可执行程序(exe) 一个网址 一个 html / mp4 / jpg / docx / enbx 等各种文件 在 PATH 环境变量中的各种程序...如果有以下需求,那么建议设置此值为 false: 需要明确执行一个已知的程序 需要重定向输入和输出 如果你有以下需求,那么建议设置此值为 true 或者保持默认: 需要打开文档、媒体、网页文件等 需要打开

1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    dotnet 测试在 UOS Linux 上使用 Process Start 打开文件的行为

    本文记录我在 UOS Linux 系统上使用 Process.Start 打开文件的行为 使用 UseShellExecute 打开文本文件 我放入了名为 Test.txt 的文件,然后使用下面代码尝试打开文件...使用 UseShellExecute 打开文件夹 只是将传入参数从文件换成文件夹,可以正常 using System.Diagnostics; var filePath = "../.....使用 UseShellExecute 打开 URL 到浏览器 测试代码如下 using System.Diagnostics; Process.Start(new ProcessStartInfo(...("xdg-open", new []{ filePath }) { UseShellExecute = false }); 本文以上代码放在github 和 gitee 欢迎访问 可以通过如下方式获取本文的源代码...", new[] { "http://blog.lindexi.com" }) { UseShellExecute = false }); 本文以上代码放在github 和 gitee 欢迎访问

    20810

    dotnet 启动进程传入不存在的文件夹作为工作目录行为变更

    Environment.CurrentDirectory 值作为启动进程的工作路径 在 .NET Core 和 .NET Framework 下,启动,设置 UseShellExecute 分别为...在不设置 ProcessStartInfo 的 WorkingDirectory 工作路径,让新的进程默认使用 Environment.CurrentDirectory 工作文件夹。...= true, // 也设置为 false 的值 }; var process = Process.Start(processStartInfo);...=false 的值,运行结果是:成功,新进程工作路径等于 I:\ 路径 在 .NET Core 下,设置 UseShellExecute=true 的值,运行结果是:成功,新进程工作路径等于 C:\Windows...路径 在 .NET Framework 下,设置 UseShellExecute=false 的值,运行结果是:运行 Process.Start 失败,提示 System.ComponentModel.Win32Exception

    88310

    WPF桌面端开发-音视频录制(使用ffmpeg.exe实现)

    代码示例:https://gitee.com/psvmc/z-screen-recorderFFMPEG的弊端先说一下使用FFMpeg录制的弊端需要引用ffmpeg.exe 文件本身比较大无法实现应用内部分界面的录制无法录制扬声器录制桌面的是都鼠标光标闪烁设备的名称如果超过...判断麦克风是否可用要想准确判断麦克风是否可用要满足一下三个条件有激活的麦克风设备录制麦克风生成了音频文件音频文件大小要大于0这三个条件缺一不可使用FFmpeg判断(推荐)本来是推荐下面的方式的,但是下面的方式有个问题在...= false; //不使用操作系统外壳程序启动 mProcess.StartInfo.RedirectStandardError = false; //重定向标准错误输出...= false; //不使用操作系统外壳程序启动 mProcess.StartInfo.RedirectStandardError = false; //重定向标准错误输出..., RedirectStandardError = true, UseShellExecute = false, CreateNoWindow

    62820

    C#.NET 使用 git 命令行来操作 git 仓库

    本文介绍使用 C# 编写一个 .NET 程序来自动化地使用 git 命令行来操作 git 仓库。 这是一篇很基础的入门文章。...---- 最简单的运行 git 命令的代码 在 .NET 中,运行一个命令只需要使用 Process.Start 开启一个子进程就好了。...允许获得命令的输出 对于上节中写的 Process.Start,你一眼就能看出来这是完全没有用的代码。...UseShellExecute 设置为 false 表示不要使用 ShellExecute 函数创建进程 此属性的详细说明,请阅读我的另一篇博客:ProcessStartInfo 中的 UseShellExecute...这里我们必须指定为 false,因为要重定向输出的话,这是唯一有效值。顺便一提,此属性如果不设置,默认值是 true。

    1K70

    加强版在国内分发 UWP 应用正确方式 通过win32安装UWP应用

    本文告诉大家如何使用传统的方法,将 UWP 作为 win32 应用安装包方法分发给用户安装 将 UWP 作为安装包的方式分发也就是通过旁加载的方式,而微软干的不错的使用旁加载如果使用的证书不清真,那么就要求用户信任证书...*.cer 就是证书文件,而 *.msixbundle 就是安装文件,在 UWP 基于不同的版本打出来的安装文件将会不同,本文只是简单告诉大家如何使用命令行安装,所以建议大家使用 18362 的版本,这样文件才会相同...File.Exists(cerFile)) { Console.WriteLine("找不到 cer 证书文件"); }...File.Exists(bundleFile)) { Console.WriteLine("找不到 msixbundle 安装文件");...= false, WorkingDirectory = appFolder }; var process = Process.Start

    1K10

    winfrom – 重定向控制台的输入输出

    即便在现在的情况下,因为有些操作不使用图形化的界面反而会比较快捷。在控制台环境下,我们可以执行很多指令,比如“dir”,”ipconfig /all”,”ping”等。...如下图: 如上图所示,该窗体类似打开了一个控制台,在下方的文本框输入 “dir”指令,会在上面提示区显示执行后的结果的内容。 这个过程是怎么实现的呢?...再调用Process.Start(startInfo)方法,来启动它。...代码下载 —- 下面是一些扩展内容 有时候我们会拿到一些exe文件,这些文件运行在控制台模式,必须sqlite,android里的adb等。...,argment是执行参数,output是执行的输出结果,errout是错误时返回的结果。

    1.2K30

    使用POI打开Excel文件遇到out of memory该如何处理?

    当我们开发处理Excel文件,Apache POI 是许多人首选的工具。但是,随着需求的增加、工程复杂,在打开复杂的Excel文件的时候可能会出现一些异常情况。...在网上查了一下,有两个方法: 可以把文件转化为CSV然后导入。 把Excel文件风格为小的Excel文件,分别构建workbook,然后进行处理。 第一个办法,对于仅导入数据很有效。...但Excel是有样式的情况,把Excel转成CSV就会导致样式丢失,所以pass了这个方法。 似乎可以考虑一下第二个办法,把文件分割成多个小文件,分别构建workbook,然后去处理。...经过一些尝试,发现是同一间构建的workbook太多了,减少到4个,单元测试就可以正常跑完。 这样来看,POI的问题还真是让人挺头疼。...测试的时候,文件是可以知道被分为几个的,但是实际应用时,就没法预测文件的数量。此外根据测试来看,workbook的数量,可能是跟Excel文件的大小相关,这会导致后续开发可能会遇到更多的问题。

    38110

    dotnet core 在 MAC 系统下删除应用程序自己后调 Process Start 方法将会抛出 Win32 异常

    在 MAC 系统下,如果在运行过程中,应用程序的文件被删除了,那么此时如果应用程序执行了 Process.Start 方法,将会抛出 Win32Exception 异常 我写了一个工具 dotnetCampus.UpdateAllDotNetTools...,但是在 .NET Core 的 Process.Start 方法里面的逻辑是需要先获取当前进程所在的文件,获取对应的文件夹,用于找到命令 例如我输入了 dotnet 命令,通过 Process.Start.../// /// Starts the process using the supplied start info. /// With UseShellExecute...,上古版本就是 OSX 也就是 OSX 就是 MAC 系统,上面这个代码文件就是特别给 MAC 系统使用的 那么获取当前文件用的是什么方法?...欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。

    81930
    领券