C# 之 System.Diagnostics.Process.Start 的妙用

▪ 前言

我们经常会遇到在 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 
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值