useshellexecute怎么用?新手也能快速上手的方法!

吉云

今儿个咱来聊聊C#里头一个挺有意思的玩意儿——UseShellExecute。话说我之前做个小项目,需要用C#代码去打开一个外部的程序,一开始没咋琢磨,直接就上。

觉得挺简单的,不就启动个程序嘛结果,发现有时候它不听使唤,尤其是一些需要管理员权限的时候,或者你想打开个文件夹啥的,它就有点懵。

开始琢磨

useshellexecute怎么用?新手也能快速上手的方法!

后来我就开始查资料,看看有没有啥别的法子。就发现这个UseShellExecute

UseShellExecute是个啥?说白,它就是一个开关。你把它设成true,就相当于告诉程序:“哥们儿,启动程序这事儿,你直接找Windows系统,让它帮你搞定!”

你想,Windows系统自己打开程序,那肯定是轻车熟路,啥管理员权限、打开文件夹,那都不是事儿。

实践出真知

于是我就动手试试。先把ProcessStartInfo 里的UseShellExecute 设成 true

useshellexecute怎么用?新手也能快速上手的方法!

ProcessStartInfo startInfo = new ProcessStartInfo();

* = "*"; // 要打开的程序

* = true;

*(startInfo);

useshellexecute怎么用?新手也能快速上手的方法!

这么一改,果然好使!

不光能打开程序,还能打开文件夹,甚至还能用系统默认的程序打开各种文件。 比如,我想用默认的浏览器打开一个网页,或者用默认的图片查看器打开一张图片,都可以用它。

  • 打开记事本
  • useshellexecute怎么用?新手也能快速上手的方法!

    * = "*";

  • 打开文件夹
  • useshellexecute怎么用?新手也能快速上手的方法!

    * = "C:\\Windows"; // 要打开的文件夹路径

  • 打开网页
  • useshellexecute怎么用?新手也能快速上手的方法!

    * = "C:\\*"; // 要打开的网页路径

总结一下

useshellexecute怎么用?新手也能快速上手的方法!

这个UseShellExecute,真是个好东西。它能让你的C#程序,更方便地跟Windows系统打交道,很多事情都变得简单。

它也不是万能的。如果你把它设成false,那就会自己去处理启动程序的事情,这时候你就能对进程有更多的控制,比如重定向输入输出啥的。但相对来说,用起来就稍微麻烦点儿。

具体用哪个,还得看你的实际需求。不过大多数情况下,把UseShellExecute设成true,准没错!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]