System.Diagnostics.Process.Start(); 用法详解

来源:https://news.68idc.cn/buildlang/ask/20150104156981.html

实例代码:http://www.cppcns.com/ruanjian/csharp/499456.html

能做什么呢?它主要有以下几个功能:

1、打开某个链接网址(弹窗)。

2、定位打开某个文件目录。

3、打开系统特殊文件夹,如“控制面板”等。

那么它是怎么实现这几个功能的呢?在讲应用前,我们先来看看Process.Star()的构造方法。

名称 说明

Process.Start () 启动(或重用)此 Process 组件的 StartInfo 属性指定的进程资源,并将其与该组件关联。

Process.Start (ProcessStartInfo) 启动由包含进程启动信息(例如,要启动的进程的文件名)的参数指定的进程资源,并将该资源与新的 Process 组件关联。

Process.Start (String) 通过指定文档或应用程序文件的名称来启动进程资源,并将资源与新的 Process 组件关联。

Process.Start (String, String) 通过指定应用程序的名称和一组命令行参数来启动一个进程资源,并将该资源与新的 Process 组件相关联。

Process.Start (String, String, SecureString, String) 通过指定应用程序的名称、用户名、密码和域来启动一个进程资源,并将该资源与新的 Process 组件关联起来。

Process.Start (String, String, String, SecureString, String) 通过指定应用程序的名称和一组命令行参数、用户名、密码和域来启动一个进程资源,并将该资源与新的 Process 组件关联起来。

 

(1) publicbool Start ()

System.Diagnostics.Process process = new System.Diagnostics.Process();

process.StartInfo.FileName = "iexplore.exe";   //IE浏览器,可以更换

process.StartInfo.Arguments = "";

process.Start();

(2) publicstaticProcessStart (ProcessStartInfostartInfo)

System.Diagnostics.ProcessStartInfo processStartInfo = new System.Diagnostics.ProcessStartInfo();

processStartInfo.FileName = "explorer.exe";  //资源管理器

processStartInfo.Arguments = @"D:\";

System.Diagnostics.Process.Start(processStartInfo);

(3) publicstaticProcessStart (stringfileName)

System.Diagnostics.Process.Start(@"D:\Program Files\Tencent\QQ\Bin\QQ.exe");  //直接调用打开文件

(4) Process.Start (StringfileName, Stringarguments) 

System.Diagnostics.Process.Start("explorer.exe", "D:\\Readme.txt");   //直接打开文件Readme.txt

上面已经举例了用process.start()打开网站的方法,现在讲讲用processs.star()定位到某个文件的方法。

这种定位方法类似于快捷方式上的查找目标://explorer /select,"D:\Program Files\Tencent\QQ\Bin\QQ.exe"
 String path = @"D:\Program Files\Tencent\QQ\Bin\QQ.exe";
 System.Diagnostics.Process.Start("explorer.exe", "/select," +path);  //定位打开D:\Program Files\Tencent\QQ\Bin文件目录并选中了QQ.exe
 注意:/select后还有个逗号(,)。
 接下来来讲讲通过调用rundll32.exe来打开一些系统特定文件,先简单介绍下rundll32.exe的功能和作用。

顾名思义,rundll32就是"执行32位的dll文件",也就是执行dll文件中的内部函数,可以以命令行的形式调用windows32位的动态链接库。

同理,rundll.exe就是"执行16位的dll文件",调用的是16位的动态链接库。我们通过rundll32.exe执行指令来完成一些功能。

举个例子:

System.Diagnostics.Process.Start("rundll32.exe","user.exe,restartwindows");      //系统重启命令

rundll32命令大全

命令列:rundll32.exe user.exe,restartwindows 
功能: 系统重启

命令列:rundll32.exe user.exe,exitwindows
功能: 关闭系统

命令列: rundll32.exe shell32.dll,Control_RunDLL 
功能: 显示控制面板 

命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,1 
功能: 显示“控制面板-辅助选项-键盘”选项视窗 

命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,2 
功能: 显示“控制面板-辅助选项-声音”选项视窗 

命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,3 
功能: 显示“控制面板-辅助选项-显示”选项视窗 

命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,4 
功能: 显示“控制面板-辅助选项-滑鼠”选项视窗 

命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,5 
功能: 显示“控制面板-辅助选项-传统”选项视窗 

命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl @1 
功能: 执行“控制面板-添加新硬体”向导。 
 

命令列: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter 
功能: 执行“控制面板-添加新印表机”向导。 

posted @ 2022-07-15 09:39  我的胖猫叫咪咪  阅读(1928)  评论(0编辑  收藏  举报