使用findwindow看有无开ie或tecent的窗口。

解决方案 »

  1.   


        to flyingice(ygxdha):    这种方法仅限于浏览器只有IE和Tecent的情况。但事实上还有大大小小的其它    浏览器。不可能把所有的浏览器的窗口都枚举出来吧。    其实我是想通过这个实时检测来判别当前浏览器是否IE,若果是其它浏览器我    就把它关闭。能做到吗?
      

  2.   


       to hjd_cw() :   能找到与远程节点 80 端口连接这样的进程吗?这样的进程一定都是浏览器的进   程吗?
      

  3.   

    检测注册表中htm的关联exe文件
    \HKEY_CLASSES_ROOT\.htm\ShellNew也可使用FindExecute函数,如FindExecute('temp.htm','',szExeName);
      

  4.   


       to Rainsea(飞龙在天) :   1。HKEY_CLASSES_ROOT\.htm\ShellNew 是WIN98注册表中的项吧?我用的      是WIN2000,找不到其相应的项。
       
       2。使用FindExecute函数要包含什么头文件?帮助中查不到啊。
      

  5.   

    没有头绪,在没有系统支持的调用的情况下。只能看看能否在进程空间中找到专属于某一个浏览器的东东。OPERA, Netscape , IE。呵呵,呜呜
      

  6.   


      to gaoys1979(虫洞) :  你的想法跟 hjd_cw() 兄的想法有点相似。也许这种方法是最好的方法,但也可  能是最难实现的方法。  请各位继续讨论!
      

  7.   

    Private Declare Function FindExecute Lib "shell32.dll" Alias _
          "FindExecutableA" (ByVal lpFile As String, ByVal lpDirectory _
          As String, ByVal lpResult As String) As Long这是FindExecute函数的vb声明。
      

  8.   

    寻找与80端口连接的进程的可行度并不高.
    因为存在很多使用ie内核的个人浏览器作品,就我所知道的就有5,6个,而且这个数量还可能继续增加,如果使用的是ie内核的个人浏览器,你既是通过对80端口监视,得到了使用80端口的进程,你也无法准确的判断浏览器的类型,除非你自带各种浏览器的进程数据,而且,如果我同时打开ie和tecent,你对80端口的监视怎么办?难道对每次http请求都监视,然后得出提出请求的浏览器吗?这样一来,效率也太低了吧?我觉得直接使用findwindow查找就行了,当然你必须要这种浏览器窗口的数据.
    总而言之,想知道浏览器的类型,你必须自带这种浏览器的相关数据。
      

  9.   

    “对80端口的监视”???不知道什么意思。web服务器一般提供的服务端口为80,那么我们可以在本地机检测到对方的80端口吗?就算可以,怎么通过这个端口来判断浏览器类型呢?如果我把ftp端口改成80的话又怎么处理?