获取进程的PID
Process p = new Process();
ProcessStartInfo ps = new ProcessStartInfo("IEXPLORE.EXE", "http://www.baidu.com");
Process.Start(ps);
winform的一个应用程序,用此方法打开了一个IE,百度的页面,怎么来获取这个iexplore.exe的PID?
PS:
只获取应用程序自己打开的这个IE的PID
当前系统可能打开了多个IE,也就是说可能会有多个iexplore.exe进程 --------------------编程问答--------------------
Process p = new Process();--------------------编程问答--------------------
ProcessStartInfo ps = new ProcessStartInfo("IEXPLORE.EXE", "http://www.baidu.com");
Process.Start(ps);
Console.WriteLine( process.Id);
Process process = new Process();
process.StartInfo = new ProcessStartInfo("IEXPLORE.EXE", "http://www.baidu.com");
process.Start();
Console.WriteLine(process.Id);
刚才那个没编译,这个没问题 --------------------编程问答--------------------
+1 --------------------编程问答--------------------
Process p = new Process();--------------------编程问答--------------------
ProcessStartInfo ps = new ProcessStartInfo("IEXPLORE.EXE", "http://www.baidu.com");
p.StartInfo = ps;
p.Start();
Console.WriteLine(p.Id.ToString ());
Console.ReadKey();
private static DateTime dtstart, dtend;//记录下时间,和进程时间对比--------------------编程问答-------------------- id就是进程的pid,这里应该返回整型。
private static Program pr = new Program();
private string GetIexploreID(string url)
{
Process p = new Process();
dtstart = DateTime.Now;//开始new的时间
ProcessStartInfo ps = new ProcessStartInfo("IEXPLORE.EXE", url);//记录new时的时间
Process.Start(ps);
dtend = DateTime.Now;//start完成之后的时间
Process[] proc_ie = Process.GetProcesses();
foreach (Process pr in proc_ie)
{
if (pr.ProcessName == "iexplore" && (dtend > pr.StartTime && pr.StartTime > dtstart))
{
return pr.Id;
}
}
return string.Empty;
}
Process[] proc_ie = Process.GetProcesses();这一段可以摘出来做一个获取id的方法,我这里方便写就融在一块了。
foreach (Process pr in proc_ie)
{
if (pr.ProcessName == "iexplore" && (dtend > pr.StartTime && pr.StartTime > dtstart))
{
return pr.Id;
}
}
return string.Empty;
补充:.NET技术 , C#