Internet explorer 在VB6中创建不是子进程的InternetExplorer对象

Internet explorer 在VB6中创建不是子进程的InternetExplorer对象,internet-explorer,vb6,Internet Explorer,Vb6,我们正在创建一个InternetExplorer窗口,如下所示: Dim Browser As InternetExplorer Set Browser = CreateObject("InternetExplorer.Application") 我们注意到,如果已经打开了一个外部IE窗口,那么在应用程序中创建的浏览器将被创建为该IE进程的子进程。如果没有IE窗口已经打开,那么我们的应用程序创建的浏览器就是它自己的父进程 我们需要确保应用程序创建的浏览器始终是顶级父进程,而不是另一个IE进程的

我们正在创建一个InternetExplorer窗口,如下所示:

Dim Browser As InternetExplorer
Set Browser = CreateObject("InternetExplorer.Application")
我们注意到,如果已经打开了一个外部IE窗口,那么在应用程序中创建的浏览器将被创建为该IE进程的子进程。如果没有IE窗口已经打开,那么我们的应用程序创建的浏览器就是它自己的父进程

我们需要确保应用程序创建的浏览器始终是顶级父进程,而不是另一个IE进程的子进程。有人知道这样做的方法吗

为了添加更多信息,第一幅图显示了IE流程,如果我们:

  • 首先启动我们的应用程序,它会创建一个浏览器窗口
  • 然后从外部启动另一个浏览器(IE)
  • 所以有两个浏览器在运行。每个进程都有两个进程(*32个进程是其他进程的子进程)

    然后,如果我们按照另一个顺序做事:

  • 启动外部浏览器
  • 启动我们的应用程序,然后创建另一个浏览器窗口
  • 然后,图片如下所示:


    在这种情况下,应用程序创建的浏览器已创建为第一个(外部)浏览器的子进程。这是我们需要避免的。

    首先,当您使用
    CreateObject(…)
    时,您应该使用:

    Dim Browser As Object ' not As InternetExplorer
    
    其次,答案是否定的,因为创建子进程(浏览器)的是您的应用程序本身


    如果您想要一个顶级流程,那么不要使用您的应用程序,但在这种情况下,您无法从应用程序中“管理”流程。

    首先,当您使用
    CreateObject(…)
    时,您应该使用:

    Dim Browser As Object ' not As InternetExplorer
    
    其次,答案是否定的,因为创建子进程(浏览器)的是您的应用程序本身


    如果您想要一个顶级流程,那么不要使用您的应用程序,但在这种情况下,您无法从应用程序中“管理”流程。

    那么您需要启动一个新会话吗?对不起,我不明白您是在使用vb6还是vba…所以您需要启动新会话?对不起,我不明白您是在使用vb6还是vba。。。