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();