当前位置:编程学习 > C#/ASP.NET >>

获取进程的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); 

刚才那个没编译,这个没问题 --------------------编程问答--------------------
引用 2 楼 juliohuang 的回复:
C# code
  Process process = new Process();
                process.StartInfo = new ProcessStartInfo("IEXPLORE.EXE", "http://www.baidu.com");
                process.Start();
                Console.……

+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;//记录下时间,和进程时间对比
        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;
        }
--------------------编程问答-------------------- id就是进程的pid,这里应该返回整型。        
    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;
 这一段可以摘出来做一个获取id的方法,我这里方便写就融在一块了。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,