▪ 前言

我们经常会遇到在 Winform 或是 WPF 中点击链接或按钮打开某个指定的网址、 或者是需要打开电脑中某个指定的硬盘分区及文件夹、甚至是 “控制面板” 等相关的东西, 那么如何做呢?

▪ System.Diagnostics.Process.Start

利用 Windows 的底层函数 System.Diagnostics.Process.Start() 我们就能实现上述的需求。该函数的作用是调用外部的命令或者某个应用程序。

先来看看它的调用方法:

Process.Start()
Process.Start( ProcessStartInfo )
Process.Start( String )
Process.Start( String, String )
Process.Start( String, String, SecureString, String )
Process.Start( String, String, String, SecureString, String )

用 IE 打开百度网

System.Diagnostics.Process web = new System.Diagnostics.Process();   web.StartInfo.FileName  = "IEXPLORE.EXE";
web.StartInfo.Arguments = @"http://www.baidu.com";web.Start();

简洁的调用方式:

System.Diagnostics.Process.Start("http://www.baidu.com");

当然,你还可以使用其他浏览器,如傲游而不是 IE

System.Diagnostics.Process web = new System.Diagnostics.Process();web.StartInfo.FileName = @"C:\Program Files\Maxthon\Maxthon.exe";
web.StartInfo.Arguments = @"C:\";web.Start();

用资源管理器打开 C 盘

System.Diagnostics.Process.Start("explorer.exe", @"C:\");

打开 “控制面板-添加或删除程序”:

System.Diagnostics.Process.Start("rundll32.exe", @"shell32.dll,Control_RunDLL appwiz.cpl,,1");

shell32.dll,Control_RunDLL appwiz.cpl,,1 是命令 rundll32.exe 所需的参数。

▪ 参考

其他的我就不再赘述,关于Process.Start (),请详见MSDN帮助文档。

  • http://msdn2.microsoft.com/en-us/library/system.diagnostics.process.start.aspx(英文)
  • http://msdn2.microsoft.com/zh-cn/library/system.diagnostics.process.start(VS.80).aspx(中文)

▪ 附录:rundll32.exe 命令

1. 系统重启
rundll32.exe user.exe,restartwindows
2. 系统关闭
rundll32.exe user.exe,exitwindows
3. 显示控制面板
rundll32.exe shell32.dll,Control_RunDLL
4. 控制面板 - 辅助选项 - 键盘
rundll32.exe shell32.dll,Control_RunDLL access.cpl,,1
5. 控制面板 - 辅助选项 - 声音
rundll32.exe shell32.dll,Control_RunDLL access.cpl,,2
6. 控制面板 - 辅助选项 - 显示
rundll32.exe shell32.dll,Control_RunDLL access.cpl,,3
7. 控制面板 - 辅助选项 - 滑鼠
rundll32.exe shell32.dll,Control_RunDLL access.cpl,,4
8. 控制面板 - 辅助选项 - 传统
rundll32.exe shell32.dll,Control_RunDLL access.cpl,,5
9. 控制面板 - 添加新硬体
rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl @1
10. 控制面板 - 添加新印表机
rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter
11. 控制面板 - 添加/删除程式 - 安装/卸载
rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,1
12. 控制面板 - 添加/删除程式 - 安装 Windows
rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,2
13. 控制面板 - 添加/删除程式 - 启动盘
rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,3
14. 控制面板 -日期与时间
rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,0
15. 控制面板 - 时区
rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,1
16. 在桌面上建立一个新的 “我的公文包”
rundll32.exe syncui.dll,Briefcase_Create
17. 复制软碟窗口
rundll32.exe diskcopy.dll,DiskCopyRunDll
18. 显示 “建立快捷方式” 的对话框,
rundll32.exe apwiz.cpl,NewLinkHere %1

所建立的快捷方式的位置由%1参数决定

19. 显示某个拨号连接的拨号窗口
rundll32.exe rnaui.dll,RnaDial [拨号连接的名称]

如果已经拨号连接,则显示目前的连接状态的窗口

20. 显示 “新建拨号连接” 向导的窗口
rundll32.exe rnaui.dll,RnaWizard
21. 显示 “显示属性 - 背景” 选项窗口
rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0
22. 显示“显示属性 - 萤屏保护”选项窗口
rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,1
23. 显示“显示属性 - 外观”选项窗口
rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,2
24. 显示显示“显示属性 - 属性”选项窗口
rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,3
25. 显示Windows的“字体”档案夹
rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL FontsFolder
26. 显示Windows的“字体”档案夹
rundll32.exe shell32.dll,Control_RunDLL main.cpl @3
27. 显示格式化软碟对话框
rundll32.exe shell32.dll,SHFormatDrive
28. 控制面板 - 游戏控制器 - 一般
rundll32.exe shell32.dll,Control_RunDLL joy.cpl,,0
29. 控制面板 - 游戏控制器 - 进阶
rundll32.exe shell32.dll,Control_RunDLL joy.cpl,,1
30. 打印 HTML 文档
rundll32.exe mshtml.dll,PrintHTML (HTML文档)
31. 显示 Microsoft Exchange 一般选项窗口
rundll32.exe shell32.dll,Control_RunDLL mlcfg32.cpl
32. 控制面板 - 鼠标
rundll32.exe shell32.dll,Control_RunDLL main.cpl @0
33. 控制面板 - 键盘属性 - 速度
rundll32.exe shell32.dll,Control_RunDLL main.cpl @1
34. 控制面板 - 键盘属性 - 语言
rundll32.exe shell32.dll,Control_RunDLL main.cpl @1,,1
35. 显示Windows“印表机”档案夹
rundll32.exe shell32.dll,Control_RunDLL main.cpl @2
36. 显示 Windows “字体”档案夹
rundll32.exe shell32.dll,Control_RunDLL main.cpl @3
37. 控制面板 - 输入法属性 - 输入法
rundll32.exe shell32.dll,Control_RunDLL main.cpl @4
38. 执行“添加新调制解调器”向导
rundll32.exe shell32.dll,Control_RunDLL modem.cpl,,add
39. 控制面板 - 多媒体属性 - 音频
rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,0
40. 控制面板 - 多媒体属性 - 视频
rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,1
41. 控制面板 - 多媒体属性 - MIDI
rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,2
42. 控制面板 - 多媒体属性 - CD音乐
rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,3
43. 控制面板 - 多媒体属性 - 设备
rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,4
44. 控制面板 - 声音
rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl @1
45. 控制面板 - 网路
rundll32.exe shell32.dll,Control_RunDLL netcpl.cpl
46. 显示 ODBC32 资料管理选项窗口
rundll32.exe shell32.dll,Control_RunDLL odbccp32.cpl
47. 显示指定档案(drive:/path/filename)的 “打开方式” 对话框
rundll32.exe shell32.dll,OpenAs_RunDLL {drive:/path/filename}
48. 控制面板 - 密码
rundll32.exe shell32.dll,Control_RunDLL password.cpl
49. 控制面板 - 电源管理属性
rundll32.exe shell32.dll,Control_RunDLL powercfg.cpl
50. 显示 Windows “打印机” 档案夹
rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL PrintersFolder
51. 控制面板 - 区域设置属性 - 区域设置
rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,0
52. 控制面板 - 区域设置属性 - 数字
rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,1
53. 控制面板 - 区域设置属性 - 货币
rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,2
54. 控制面板 - 区域设置属性 - 时间
rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,3
55. 控制面板 - 区域设置属性 - 日期
rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,4
56. 将指定的萤屏保护档案设置为Windows的屏保,并显示萤屏保护属性窗口
rundll32.exe desk.cpl,InstallScreenSaver [萤屏保护档案名]
57. 控制面板 - 系统属性 - 传统
rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,0
58. 控制面板 - 系统属性 - 设备管理器
rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,1
59. 控制面板 - 系统属性 - 硬体配置档案
rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,2
60. 控制面板 - 系统属性 - 性能
rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,3
61. 强行关闭所有程式并重启机器
rundll32.exe user.exe,restartwindows
62. 强行关闭所有程式并关机
rundll32.exe user.exe,exitwindows
63. 显示“拨号属性”选项窗口
rundll32.exe shell32.dll,Control_RunDLL telephon.cpl
64. 显示“桌面主旨”选项面板
rundll32.exe shell32.dll,Control_RunDLL themes.cpl

C# 之 System.Diagnostics.Process.Start 的妙用相关推荐

  1. System.Diagnostics.Process.Start的妙用

    我们经常会遇到在Winform或是WPF中点击链接或按钮打开某个指定的网址, 或者是需要打开电脑中某个指定的硬盘分区及文件夹, 甚至是"控制面板"相关的东西, 那么如何做呢? 答案 ...

  2. System.Diagnostics.Process.Start()

    System.Diagnostics.Process.Start(); 这个方法用来创建一个新的进程 比如说你在某个程序的菜单上想加个超链接到百度知道 那么就可以用这个方法来实现 System.Dia ...

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

    System.Diagnostics.Process.Start(); 能做什么呢?它主要有以下几个功能: 1.打开某个链接网址(弹窗). 2.定位打开某个文件目录. 3.打开系统特殊文件夹,如&qu ...

  4. System.Diagnostics.Process 执行.EXE

    分类:  C#+WINFORM 2009-04-05 21:09 459人阅读 评论(0)  收藏  举报   我们经常会遇到在Winform或是WPF中点击链接或按钮打开某个指定的网址, 或者是需要 ...

  5. System.Diagnostics.Process.Star的用法

    System.Diagnostics.Process.Start(); 能做什么呢?它主要有以下几个功能: 1.打开某个链接网址(弹窗). 2.定位打开某个文件目录. 3.打开系统特殊文件夹,如&qu ...

  6. System.Diagnostics.Process.Start 用法

    Process.Start()方法详解_System.Diagnostics.Process.Start()的用法 ,转 System.Diagnostics.Process.Start(); 能做什 ...

  7. System.Diagnostics.Process执行获取程序实时输出消息

    using System;namespace ConsoleAppNET5.TestVideoZhuanMa {class Program{static void Main(string[] args ...

  8. System.Diagnostics.Process

    1.启动子进程,不等待子进程结束 private void simpleRun_Click(object sender, System.EventArgs e) { System.Diagnostic ...

  9. System.Diagnostics.Process 用处

    1,直接打开指定的文件 System.Diagnostics.Process.Start(v_OpenFilePath); 2,直接打开目录 string v_OpenFolderPath = @&q ...

最新文章

  1. 杨强:人工智能在企业的落地是一门大学问
  2. 解码resources时里面是空的_深度解码超实用的OpenStack Heat
  3. Order Proposals in the Past
  4. [云炬创业基础笔记]第七张创业资源测试
  5. jsp oracle 登录页面,Oracle数据库之ORACLE+Myeclipse+jsp实现简单登录功能
  6. 两分钟彻底让你明白Android Activity生命周期(图文)!
  7. Golang program to implement Binary Tree
  8. MFC空间几何变换之图像平移、镜像、旋转、缩放
  9. win7 右键计算机 服务 设备管理器,win7系统计算机右键菜单添加设备管理器的操作方法...
  10. linux环境安装Kafka最新版本 jdk1.8
  11. 【script】数据处理的瑞士军刀 pandas
  12. Windows 10 下 转移MySQL 8.0的数据库文件夹(靠谱版)
  13. 获取Kubernetes容器上下文环境
  14. 解决Response.AddHeader(Content-Disposition, attachment; filename= + file.Name) 中文显示乱码...
  15. 文件图片随机划分训练集和验证集
  16. git学习笔记-(8-高层命令(2))
  17. 新版PHP小说漫画听书视频四合一网站源码+带采集
  18. java dht 爬虫_DHT爬虫(golang版-附源码)
  19. 易语言mysql编程助手_编程助手app下载-编程助手安卓版 v7.0.1 - 安下载
  20. 在mini2440上面搞定CC2500物理层驱动

热门文章

  1. Direx 自学总结一
  2. Linux快捷键使用汇总
  3. Cruzer Profile 原理分析
  4. MAX31856多类型热电偶温度检测方案芯片详解,附可实现的STM32程序代码
  5. 关于ping本地公网IP不通。。
  6. Linux技术(1)--CentOS 6.5关闭防火墙步骤
  7. 2021-11-15 VScode如何连接工作站
  8. 机甲旋风为什么pk显示服务器响应,机甲旋风闪影转职技能与技巧解析
  9. vue通过v-if隐藏的元素在网页加载时闪现
  10. 概率(3)一根木棍折断成3段构成一个三角形的概率