写了一个BHO,但在IE和资源管理器都被加载了,怎么做才能不让资源管理器加载我的BHO?(100分)

  • 主题发起人 主题发起人 satanmonkey
  • 开始时间 开始时间
S

satanmonkey

Unregistered / Unconfirmed
GUEST, unregistred user!
那位有经验,赶快告诉我,急啊,高分送之。
另外问一下,我写的加到IE上的工具栏也会被资源管理器加载。
怎么避免?
 
在你的SetSite方法里加上判断.

var
HostModuleName: array[0..255] of Char;

GetModuleFileName(0, HostModuleName, 256);
用LowerCase(ExtractFileName(HostModuleName)) = 'explorer.exe'来判断就行了.

另外,如果你这样做,会留一个漏洞.先打开资源管理器,在资源管理器里输入url,此时IE起了,但你的BHO
就不会被加载.

 
试过了,照你的方法,我的两个问题都可以解决。不过正如你说的有漏洞。有没有更好的方法啊?

希望多和你交流。呵呵。
 
这个漏洞你我可能都没有解决的办法.至少我目前没有办法.
我觉得除非m$做出改动,否则,无解.
 
我想了个办法
实现个IInternetProtocol接口,把HTTP的处理都hook下来。
在start方法里,判断是否载入了bho,没有,就自己载入,不知道你有什么想法?
 
呵呵,看来我脑筋太死.
办法还是能想到的.
 
给分了。 我慢慢去搞。呵呵
 
后退
顶部