to gaoys1979(虫洞) : 你的想法跟 hjd_cw() 兄的想法有点相似。也许这种方法是最好的方法,但也可 能是最难实现的方法。 请各位继续讨论!
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声明。
to flyingice(ygxdha): 这种方法仅限于浏览器只有IE和Tecent的情况。但事实上还有大大小小的其它 浏览器。不可能把所有的浏览器的窗口都枚举出来吧。 其实我是想通过这个实时检测来判别当前浏览器是否IE,若果是其它浏览器我 就把它关闭。能做到吗?
to hjd_cw() : 能找到与远程节点 80 端口连接这样的进程吗?这样的进程一定都是浏览器的进 程吗?
\HKEY_CLASSES_ROOT\.htm\ShellNew也可使用FindExecute函数,如FindExecute('temp.htm','',szExeName);
to Rainsea(飞龙在天) : 1。HKEY_CLASSES_ROOT\.htm\ShellNew 是WIN98注册表中的项吧?我用的 是WIN2000,找不到其相应的项。
2。使用FindExecute函数要包含什么头文件?帮助中查不到啊。
to gaoys1979(虫洞) : 你的想法跟 hjd_cw() 兄的想法有点相似。也许这种方法是最好的方法,但也可 能是最难实现的方法。 请各位继续讨论!
"FindExecutableA" (ByVal lpFile As String, ByVal lpDirectory _
As String, ByVal lpResult As String) As Long这是FindExecute函数的vb声明。
因为存在很多使用ie内核的个人浏览器作品,就我所知道的就有5,6个,而且这个数量还可能继续增加,如果使用的是ie内核的个人浏览器,你既是通过对80端口监视,得到了使用80端口的进程,你也无法准确的判断浏览器的类型,除非你自带各种浏览器的进程数据,而且,如果我同时打开ie和tecent,你对80端口的监视怎么办?难道对每次http请求都监视,然后得出提出请求的浏览器吗?这样一来,效率也太低了吧?我觉得直接使用findwindow查找就行了,当然你必须要这种浏览器窗口的数据.
总而言之,想知道浏览器的类型,你必须自带这种浏览器的相关数据。