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) public bool Start ()

System.Diagnostics.Process process = new System.Diagnostics.Process();process.StartInfo.FileName = "iexplore.exe";   //IE浏览器,可以更换process.StartInfo.Arguments = "http://www.baidu.com";process.Start();

(2) public static Process Start (ProcessStartInfostartInfo)

System.Diagnostics.ProcessStartInfo processStartInfo = new System.Diagnostics.ProcessStartInfo();processStartInfo.FileName = "explorer.exe";  //资源管理器processStartInfo.Arguments = @"D:\";System.Diagnostics.Process.Start(processStartInfo);

(3) public static Process Start (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
功能: 显示“无线网络设置"面板

更多的命令请到这里下载:http://download.csdn.net/detail/czw2010/4530206

System.Diagnostics.Process.Start("notepad.exe");        -- 打开记事本System.Diagnostics.Process.Start("calc.exe ");                -- 打开计算器System.Diagnostics.Process.Start("regedit.exe ");           -- 打开注册表System.Diagnostics.Process.Start("mspaint.exe ");        -- 打开画图板System.Diagnostics.Process.Start("write.exe ");              -- 打开写字板System.Diagnostics.Process.Start("mplayer2.exe ");        --打开播放器System.Diagnostics.Process.Start("taskmgr.exe ");          --打开任务管理器System.Diagnostics.Process.Start("eventvwr.exe ");          --打开事件查看器System.Diagnostics.Process.Start("winmsd.exe ");           --打开系统信息System.Diagnostics.Process.Start("winver.exe ");              --打开Windows版本信息System.Diagnostics.Process.Start("mailto: "+ address);    -- 发邮件

shutdown.exe:

参数:-s 关机   -r重启   -f强行   -t 时间    -a 取消关机   -l 注销    -i 显示用户界面

System.Diagnostics.Process.Start("shutdown.exe","-r");              -- 关闭并重启计算机System.Diagnostics.Process.Start("shutdown.exe","-s -f");          -- 关闭计算机System.Diagnostics.Process.Start("shutdown.exe","-s -f 30");     -- 30s后关闭计算机System.Diagnostics.Process.Start("shutdown.exe","-l");               --注销计算机System.Diagnostics.Process.Start("shutdown.exe","-a");              --撤销关闭计算机

SpecialFolder枚举成员:成员名称    说明

ApplicationData    目录,它用作当前漫游用户的应用程序特定数据的公共储存库。
漫游用户在网络上的多台计算机上工作。漫游用户的配置文件保存在网络服务器上,当用户登录到某个系统上时,它会加载到该系统。CommonApplicationData    目录,它用作所有用户使用的应用程序特定数据的公共储存库。
CommonProgramFiles    用于应用程序间共享的组件的目录。
Cookies    用作 Internet Cookie 的公共储存库的目录。
Desktop    逻辑桌面,而不是物理文件系统位置。
DesktopDirectory    用于物理上存储桌面上的文件对象的目录。
不应将此目录与桌面文件夹本身混淆,后者是虚拟文件夹。Favorites    用作用户收藏夹项的公共储存库的目录。
History    用作 Internet 历史记录项的公共储存库的目录。
InternetCache    用作 Internet 临时文件的公共储存库的目录。
LocalApplicationData    目录,它用作当前非漫游用户使用的应用程序特定数据的公共储存库。
MyComputer    “我的电脑”文件夹。
注意
由于没有为“我的电脑”文件夹定义路径,因此 MyComputer 常数将始终生成空字符串 ("")。MyDocuments    “我的电脑”文件夹。
MyMusic    “My Music”文件夹。
MyPictures    “My Pictures”文件夹。
Personal    用作文档的公共储存库的目录。
ProgramFiles    “Program files”目录。
Programs    包含用户程序组的目录。
Recent    包含用户最近使用过的文档的目录。
SendTo    包含“发送”菜单项的目录。
StartMenu    包含“开始”菜单项的目录。
Startup    对应于用户的“启动”程序组的目录。
每当用户登录、启动 Windows NT 或更高版本或启动 Windows 98 时,系统均会启动这些程序。System    “System”目录。
Templates    用作文档模板的公共储存库的目录。

通过Environment.GetFolderPath(Environment.SpecialFolder.XXXXX);我们可以轻松地获得系统特殊文件夹的具体路径,然后用Process.Start()方法打开该文件夹。

例如:

System.Diagnostics.Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.System));   //打开系统文件夹(System32文件夹)[System.Runtime.InteropServices.DllImportAttribute("user32.dll")]private static extern int FindWindow(string ClassName, string WindowName);[System.Runtime.InteropServices.DllImport("user32.dll")]private static extern int ShowWindow(int handle, int cmdShow);[System.Runtime.InteropServices.DllImport("winmm.dll", EntryPoint = "mciSendString", CharSet = System.Runtime.InteropServices.CharSet.Auto)]private static extern int mciSendString(string lpstrCommand, string lpstrReturnstring, int uReturnLength, int hwndCallback);private const int SW_HIDE = 0;//API参数表示隐藏窗口private const int SW_SHOW = 5;//API参数表示用当前的大小和位置显示窗口ShowWindow(FindWindow("Shell_TrayWnd", null), SW_HIDE);         -- 隐藏隐藏任务栏ShowWindow(FindWindow("Shell_TrayWnd", null), SW_SHOW);      --  显示任务栏mciSendString("set CDAudio door open", null, 127, 0);       -- 弹出光驱mciSendString("set CDAudio door closed", null, 127, 0);     --关闭光驱

原文:https://blog.csdn.net/chen_zw/article/details/7896264

C# Process.Start()方法详解相关推荐

  1. python process 函数_Python Process创建进程的2种方法详解

    前面介绍了使用 os.fork() 函数实现多进程编程,该方法最明显的缺陷就是不适用于 Windows 系统.本节将介绍一种支持 Python 在 Windows 平台上创建新进程的方法. Pytho ...

  2. Java中的main()方法详解

    源文作者:leizhimin    源文链接:http://lavasoft.blog.51cto.com/62575/53263 源文作者版权申明: 版权声明:原创作品,允许转载,转载时请务必以超链 ...

  3. 下拉多选框 微信小程序_微信小程序下拉框组件使用方法详解

    本文实例为大家分享了微信小程序下拉框组件的使用方法,供大家参考,具体内容如下 适用场景 1.省市三级联动 2.出生日期选择 3.性别选择 4.一般性的下拉选择等 一.省市三级联动使用 注意mode = ...

  4. 环境变量process.env.NODE_ENV详解

    process.env.NODE_ENV详解 前几天一个月薪35k的兄弟,给我推了一个人工智能学习网站,看了一段时间挺有意思的.包括语音识别.机器翻译等从基础到实战都有,很详细,分享给大家. 一. p ...

  5. Vue中process.env.NODE_ENV详解

    一文弄懂如何在 Vue 中配置 process.env.NODE_ENV 最近在研习 vue.config.js 文件,发现一行,甚是费解. process.env.NODE_ENV 查阅资料后,发现 ...

  6. java中main是什么_Java中的main()方法详解

    在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是 ...

  7. oracle如何对数据库进行备份,对Oracle数据库进行备份的两种方法详解

    首页 > 演讲稿 > 自我介绍演讲稿 > 对Oracle数据库进行备份的两种方法详解 对Oracle数据库进行备份的两种方法详解 时间:2019-05-05   来源:自我介绍演讲稿 ...

  8. kill -9 进程号杀不死可以用下面的杀掉 Linux下强制杀死进程的方法详解

    常规篇: 首先,用ps查看进程,方法如下: $ ps -ef -- smx 1822 1 0 11:38 ? 00:00:49 gnome-terminal smx 1823 1822 0 11:38 ...

  9. python统计csv行数_对Python 多线程统计所有csv文件的行数方法详解

    如下所示: #统计某文件夹下的所有csv文件的行数(多线程) import threading import csv import os class MyThreadLine(threading.Th ...

最新文章

  1. 剑指offer java版(三)
  2. 华数软件测试岗位,重磅:字节跳动与华数共同研发的电视原创视频app已正式测试上线...
  3. angular学习笔记(二十五)-$http(3)-转换请求和响应格式
  4. 7 兼容 因特尔十代_换装十代酷睿,里外都是白白的,超频i5提前装机测试
  5. Linux基础命令---findfs
  6. html5——DOM扩展
  7. 4.2路由算法与路由协议概述
  8. Linux下动态库的创建与更新
  9. IE7下动态创建Iframe时,去除边框
  10. 华为日历怎么显示一月_华为10手机日历图标在哪 华为日历怎么显示
  11. windows server 2003 桌面图标有蓝底如何解决
  12. Oracle触发器转写成瀚高触发器
  13. 半闲居士视觉SLAM十四讲笔记(3)三维空间刚体运动 - part 3 旋转向量、欧拉角、四元数
  14. [abc] Placing Rectangles
  15. 软件测试小黑指北-知识点复习
  16. 2021-2022学年广州市执信中学七年级第一学期期中考试英语试题
  17. 云服务器部署项目环境搭建
  18. 计算机工具属性不见了怎么办,电脑文件夹选项不见了,详细教您解决电脑文件夹选项不见了...
  19. 高新技术企业的重要性
  20. python培训合肥

热门文章

  1. html背景图片随鼠标滚动条,博客音效代码、滚动条代码、单张图片滚动代码、背景图片代码、个性鼠标(2)...
  2. 屏幕录制软件ALLCapture常见问题合集(上)
  3. HTML表单(form)
  4. android sooner single adb interface 无法安装这个硬件 的解决方法
  5. 通过文件IO的学习,实现对照片的加密与解密,干货满满!!
  6. 【解决】html2canvas.js截图只截取当前可视区域;导出图片不全
  7. 工作四年,分享50个让你代码更好的小建议
  8. Python中获取交集并集差集的方法
  9. 蓝牙信号,断点续传,Xutils
  10. 解密:天猫双十一1682亿背后的“霸下-七层流量清洗”系统