来源: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 
功能: 执行“控制面板-添加新印表机”向导。

System.Diagnostics.Process.Start(); 用法详解的更多相关文章

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

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

  2. System.Diagnostics.Process 执行.EXE

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

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

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

  4. C# Process.Start()方法详解(转)

    C# Process.Start()方法详解 System.Diagnostics.Process.Start(); 能做什么呢?它主要有以下几个功能: 1.打开某个链接网址(弹窗). 2.定位打开某 ...

  5. Hadoop生态圈-zookeeper的API用法详解

    Hadoop生态圈-zookeeper的API用法详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.测试前准备 1>.开启集群 [yinzhengjie@s101 ~] ...

  6. CentOS 7.X 中systemctl命令用法详解

    systemctl是RHEL 7 的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体.可以使用它永久性或只在当前会话中启用/禁用服务,下面来看CentOS 7.X 中 ...

  7. [转帖]强大的strace命令用法详解

    强大的strace命令用法详解 文章转自: https://www.linuxidc.com/Linux/2018-01/150654.htm strace是什么? 按照strace官网的描述, st ...

  8. 2020了你还不会Java8新特性?(五)收集器比较器用法详解及源码剖析

    收集器用法详解与多级分组和分区 为什么在collectors类中定义一个静态内部类? static class CollectorImpl<T, A, R> implements Coll ...

  9. C#中string.format用法详解

    C#中string.format用法详解 本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Form ...

  10. linux管道命令grep命令参数及用法详解---附使用案例|grep

    功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...

随机推荐

  1. .NET Core 项目启动时运行定时任务

    1.任务需求 在每次服务启动时定时(如24小时)清理一次缓存文件 2.代码实现 1)新建文件清理类 .NET Core 提供了BackgroundService的抽象类,在 ExecuteAsync ...

  2. Portainer功能使用之容器管理

    下载镜像 点击左边功能菜单栏[images]下载镜像 容器管理 点击左边功能菜单栏[Containers]创建.启动.重启.停止.监控等功能 创建容器 例如:安装nginx代理服务器,并设置容器信息( ...

  3. STM32F4库函数初始化系列:串口发送

    1 void Configuration(void) 2 { 3 USART_InitTypeDef USART_InitStructure; 4 GPIO_InitTypeDef GPIO_Init ...

  4. Spring依赖注入问题

    记录一下最近复习的Spirng依赖注入问题 主要介绍两个注入方式 也是用的最多的 1.构造方法注入 2.Setter注入. 参考文档:https://blog.csdn.net/weixin_5541 ...

  5. JAVA快速获取网络图片或者URL图片并保存到本地

    JAVA快速获取网络图片或者URL图片并保存到本地,直接上代码: package com.xh.service;import org.springframework.stereotype.Servic ...

  6. CMakeLists.txt模板

    编译动态库的模板 add_library 生成可执行程序换成add_executable 不需要调试信息的去掉 -g 不需要警告信息的去掉 -Wall 这应该是 -W all的组合 cmake_min ...

  7. linux 信号 未决信号集和屏蔽信号集

    有的地方,将屏蔽又叫阻塞? 在虚拟地址空间中,内核区的PCB中 有两个64位的值(集合),分别表示64个信号的未决状态(未被处理)和屏蔽与否 kill -l 可以查看linux中的所有信号,共64个 ...

  8. SAP 删除始终使用选定的格式

    修改默认格式 se38 SALV_BS_ADMIN_MAINTAIN

  9. .NET 中创建录音机和播放器应用

    前言 在本博客中,你将了解如何在 .NET MAUI 中开发录音机和播放器.音频播放器将录制和播放音频文件.此应用程序可以在Android和iOS上部署和使用. 预览 以下是该录音机和播放录音的应用程 ...

  10. uniapp中关于navigateBack返回刷新,h5和小程序端

    注意: 小程序中,如果路径中有参数,在生命周期onLoad()中需要获取,可以用beforePage.options 就能获取到url中的参数