C# Process.Start()方法详解

时间:2022-02-09 08:48:50

System.Diagnostics.Process.Start(); 能做什么呢?它主要有以下几个功能:

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 功能: 执行“控制面板-添加新印表机”向导。 命令列: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,1 功能: 显示 “控制面板-添加/删除程式” 面板。 命令列: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,1 功能: 显示 “控制面板-添加/删除程式-安装/卸载” 面板。 命令列: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,2 功能: 显示 “控制面板-添加/删除程式-安装Windows” 面板。 命令列: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,3 功能: 显示 “控制面板-添加/删除程式-启动盘” 面板。 命令列: rundll32.exe syncui.dll,Briefcase_Create 功能: 在桌面上建立一个新的“我的公文包”。 命令列: rundll32.exe diskcopy.dll,DiskCopyRunDll 功能: 显示复制软碟视窗 命令列: rundll32.exe apwiz.cpl,NewLinkHere %1 功能: 显示“建立快捷方式”的对话框,所建立的快捷方式的位置由%1参数决定。 命令列: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,0 功能: 显示“日期与时间”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,1 功能: 显示“时区”选项视窗。 命令列: rundll32.exe rnaui.dll,RnaDial [某个拨号连接的名称] 功能: 显示某个拨号连接的拨号视窗。如果已经拨号连接,则显示目前的连接状态的视窗。 命令列: rundll32.exe rnaui.dll,RnaWizard 功能: 显示“新建拨号连接”向导的视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0 功能: 显示“显示属性-背景”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,1 功能: 显示“显示属性-萤屏保护”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,2 功能: 显示“显示属性-外观”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,3 功能: 显示显示“显示属性-属性”选项视窗。 命令列: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL FontsFolder 功能: 显示Windows的“字体”档案夹。 命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @3 功能: 同样是显示Windows的“字体”档案夹。 命令列: rundll32.exe shell32.dll,SHFormatDrive 功能: 显示格式化软碟对话框。 命令列: rundll32.exe shell32.dll,Control_RunDLL joy.cpl,,0 功能: 显示“控制面板-游戏控制器-一般”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL joy.cpl,,1 功能: 显示“控制面板-游戏控制器-进阶”选项视窗。 命令列: rundll32.exe mshtml.dll,PrintHTML (HTML文档) 功能: 列印HTML文档。 命令列: rundll32.exe shell32.dll,Control_RunDLL mlcfg32.cpl 功能: 显示Microsoft Exchange一般选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @0 功能: 显示“控制面板-滑鼠” 选项 。 命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1 功能: 显示 “控制面板-键盘属性-速度”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1,,1 功能: 显示 “控制面板-键盘属性-语言”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @2 功能: 显示Windows“印表机”档案夹。 命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @4 功能: 显示“控制面板-输入法属性-输入法”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL modem.cpl,,add 功能: 执行“添加新调制解调器”向导。 命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,0 功能: 显示“控制面板-多媒体属性-音频”属性页。 命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,1 功能: 显示“控制面板-多媒体属性-视频”属性页。 命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,2 功能: 显示“控制面板-多媒体属性-MIDI”属性页。 命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,3 功能: 显示“控制面板-多媒体属性-CD音乐”属性页。 命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,4 功能: 显示“控制面板-多媒体属性-设备”属性页。 命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl @1 功能: 显示“控制面板-声音”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL netcpl.cpl 功能: 显示“控制面板-网路”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL odbccp32.cpl 功能: 显示ODBC32资料管理选项视窗。 命令列: rundll32.exe shell32.dll,OpenAs_RunDLL {drive:/path/filename} 功能: 显示指定档案(drive:/path/filename)的“打开方式”对话框。 命令列: rundll32.exe shell32.dll,Control_RunDLL password.cpl 功能: 显示“控制面板-密码”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL powercfg.cpl 功能: 显示“控制面板-电源管理属性”选项视窗。 命令列: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL PrintersFolder 功能: 显示Windows“印表机”档案夹。(同rundll32.exe shell32.dll,Control_RunDLL main.cpl @2) 命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,0 功能: 显示“控制面板-区域设置属性-区域设置”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,1 功能: 显示“控制面板-区域设置属性-数字”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,2 功能: 显示“控制面板-区域设置属性-货币”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,3 功能: 显示“控制面板-区域设置属性-时间”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,4 功能: 显示“控制面板-区域设置属性-日期”选项视窗。 命令列: rundll32.exe desk.cpl,InstallScreenSaver [萤屏保护档案名] 功能: 将指定的萤屏保护档案设置为Windows的屏保,,并显示萤屏保护属性视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,0 功能: 显示“控制面板-系统属性-传统”属性视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,1 功能: 显示“控制面板-系统属性-设备管理器”属性视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,2 功能: 显示“控制面板-系统属性-硬体配置档案”属性视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,3 功能: 显示“控制面板-系统属性-性能”属性视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL telephon.cpl 功能: 显示“拨号属性”选项视窗 命令列: rundll32.exe shell32.dll,Control_RunDLL themes.cpl 功能: 显示“桌面主题”选项面板 命令列: rundll32.exe shell32.dll,Control_RunDLL firewall.cpl 功能: 显示“Windows防火墙"面板 命令列: rundll32.exe shell32.dll,Control_RunDLL NetSetup.cpl,@0,WNSW 功能: 显示“无线网络设置"面板

更多的命令请到这里下载: