System.Diagnostics.Process.Start()主要功能如下:

1.打开某个链接网址(弹窗)

2.定位打开某个文件目录

3.打开系统特殊文件夹,如控制面板

Process调用方法

名称

作用

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)

通过指定应用程序的名称和一组命令行参数,用户名,密码和域来启动一个进程资源,并将该资源与新的Process组件关联起来

 

 

 

 

 

 

 

 

 

 

 

Process类主要提供本地和远程进程的访问,并提供对本地进程的启动、停止等操作

 

Process属性

属性和方法

说明

MachineName

属性,获取关联进程正在其上运行的计算机的名称

Id

属性,获取关联进程的唯一标识符

ExitTime

属性,获取关联进程退出时间

ProcessName

属性,获取该进程的名称

StartTime

属性,获取该关联进程的启动时间

Threads

属性,获取在管理进程中运行的一组线程

TotalProcessorTime

属性,获取此进程的总的处理器时间

UserProcessorTime

属性,获取此进程用户处理器时间

Close()

方法,释放于此组件关联的所有资源

CloseMainWindow()

方法,通过想进城的主窗口发送关闭消息来关闭拥有用户界面的进程

Dispose()

方法,释放由Component使用的所有资源

GetCurrentprocess

方法,获取新的Process组件,并将其与当前活动的进程关联

GetProcesses()

方法,为本地计算机的每个进程资源创建一个新的Process组件

GetProcesses(String)

方法,为指定计算机上的每个进程资源创建一个新的Process组件

GetProcessByName(String)

方法,创建新的process组件的数据,并将它们与本地计算机共享指定的进程名称的所有进程资源关联

Kill()

方法,立即停止关联的进程

Start()

方法,启动(或重用)此Process组件的StartInfo属性指定的进程资源,并将其与该组件关联

Start(String)

方法,通过指定文档或应用程序文件的名称来启动进程资源,并将资源与新的Process组件关联

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 例子:

【这种方法会阻塞当前进程,直到运行的外部程序退出】

ProcessStartInfo startInfo = new ProcessStartInfo();
            startInfo.WindowStyle = ProcessWindowStyle.Hidden;
            startInfo.Arguments = " -i " + srcName  //视频路径
                                 + " -y -f image2 -ss " + cutTimeFrame  //设置开始获取帧的视频时间
                                 + " -t 0.001 -s " + widthAndHeight //设置图片的分辨率
                                 + " " + objName; //输出的图片文件名,路径前必须有空格
            startInfo.UseShellExecute = false;
            startInfo.CreateNoWindow = true;
            startInfo.FileName = ffmpeg;
            startInfo.WindowStyle = ProcessWindowStyle.Hidden;
Process proc = new Process();
                proc.StartInfo = startInfo;
                proc.Start();
                proc.WaitForExit();//不等待完成就不调用此方法
                proc.Close();
                proc.Dispose();