代码改变世界

c#创建谷歌浏览器进程过程检测

2020-11-12 15:30  石吴玉  阅读(675)  评论(0编辑  收藏  举报
代码:
       public static void Main(string[] args)
        {
            //打开谷歌浏览器的百度搜索页面
            Process process = Process.Start("C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe","http://www.baidu.com");
            var id = process.Id;
            Process p = Process.GetProcessById(id);
            p.Kill();
            //杀死这个进程
            //process.Kill();
            Console.WriteLine("Hello World!");
            Console.ReadKey();
        }
1.直接打开谷歌,当前有8个子进程随谷歌启动而启动
 
2.启动应用程序 ProcessCore
开启一个谷歌进程,此进程打开了百度搜索的窗口
当前谷歌有9位子进程
 
3.在步骤二中打开的页面搜索:博客园

 

 

当前谷歌还是有9个子进程
 
4.点击步骤3中搜索到的"博客园"
开启了一个新的tab页,谷歌有了10个子进程
 
5.点击博客园的多个文章,开启了多个tab页面
谷歌依然有10个子进程
关闭其中一个,谷歌依旧有10个子进程,把以上博客园相关的全部关闭,谷歌变成有9个子进程
 
6.程序执行 process.Kill();
但无法杀死这个进程
程序停止运营,也无法杀死这个进程
分析原因:
(1)在谷歌浏览器非启动状态下执行代码:Process process = Process.Start("C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe","http://www.baidu.com");
      执行结果:唤醒谷歌浏览器并打开了百度页面
      程序打印当前启动的进程ID为:31520
    打开任务管理器,顺利找到了这个进程
   
 
当前谷歌浏览器开启了9个子进程
再次在浏览器中打开其他页面:
博客园从程序启动的这个百度窗口进入,谷歌翻译与abp中文框架由新的tab打开
此时谷歌存在12个子进程
继续执行代码:process.Kill()
此时谷歌浏览器被关闭,杀死了所有谷歌进程
 
(2)在谷歌浏览器启动状态下执行代码
事先打开谷歌浏览器,当前有9个子进程
启动项目执行代码:Process process = Process.Start("C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe","http://www.baidu.com");
顺利打开了谷歌浏览器的百度搜索界面,并检测到程序生成的进程ID为:46092
当前谷歌浏览器有10个进程:
打开任务管理器查找这个进程:
在任务管理器中并未找到PID为46092的进程
继续执行代码:process.Kill();
并未能对当前的谷歌进程产生影响。