时间:2022-07-09 09:36:21 | 栏目:.NET代码 | 点击:次
一个Process组件提供了在计算机运行进程的访问权限。 进程,在最简单的术语中,是正在运行的应用。提供对本地和远程进程的访问权限并使你能够启动和停止本地系统进程。
System.Diagnostics.Process p=Process.Start("notepad.exe","File.txt"); Thread.Sleep(2000); p.Kill();
ProcessStartInfo psi = new ProcessStartInfo("cmd.exe"); psi.Arguments = @"/c copy c:\1.txt lpt1"; psi.CreateNoWindow = true; psi.UseShellExecute = false;//默认为true, 使用外壳程序启动进程。否则,直接从可执行文件创建进程。 Process p = Process.Start(psi); if (!p.WaitForExit(1000 * 7))//启动外部程序,等待其退出 { p.Kill(); } p.Close();
或者
ProcessStartInfo psi = new ProcessStartInfo("cmd.exe");//FileName psi.RedirectStandardInput = true; psi.RedirectStandardOutput = true; psi.CreateNoWindow = true;//将此属性设置为false,就能重定向进程。。。 psi.UseShellExecute = false;// Process p = Process.Start(psi); StreamWriter sw = p.StandardInput; StreamReader sr = p.StandardOutput; sw.WriteLine(@"/c copy c:\1.txt lpt1"); sw.Close(); Console.Write(sr.ReadToEnd()); sr.Close(); p.Close();
System.Diagnostics.Process.Start("explorer.exe", @"c:/"); //用资源管理器打开C:/ System.Diagnostics.Process.Start("rundll32.exe", @"shell32.dll,Control_RunDLL appwiz.cpl,,0");//打开“添加或删除程序”的面板:
var pList = Process.GetProcesses().OrderBy(x => x.Id).Take(10); foreach (var p in pList) { Console.WriteLine(string.Format("ProcessID is {0} \t ProcessName is {1}", p.Id, p.ProcessName)); }
var mList = Process.GetCurrentProcess().Modules; foreach (ProcessModule m in mList) { Console.WriteLine(string.Format("ModuleName is {0} \t ModuleURL is {1} \t ModuleVersion is {2}", m.ModuleName, m.FileName, m.FileVersionInfo.FileVersion)); }