用ATL写了BHO组件,编译连接都通过,注册也显示通过,但系统并没有加载其dll,打开IE也就不加载组件了。
原来写的部分是可以运行的,但加入别人的一个lib后出现了此问题,连接有个warning不知是否跟此有关
LINK : warning LNK4098: defaultlib "MSVCRT" conflicts with use of other libs; use /NODEFAULTLIB:library
请高手相助,问题太郁闷了。

解决方案 »

  1.   

    刚才这个warning的问题解决了
    现在主要的问题就是注册成功是假的,还有就是不能调试,F5只后打开IE,根本不执行,应该是没有注册的问题,这样根本不知道程序里什么地方出错了。
      

  2.   

    你有没有在注册表的以下位置注册你的对象啊
    HKLM {
     SOFTWARE {
      Microsoft {   
       Windows {
        CurrentVersion {
         Explorer {
          'Browser Helper Objects' {
           ForceRemove {1E1B2879-88FF-11D2-8D96-D7ACAC95951F}        
    }}}}}}}
      

  3.   

    那个别人的Lib应该对应一个dll
    你用Depends看看是不是
    应该把那个dll放在当前路径下,即和html页面一起
      

  4.   

    CRegKey reg;
    HRESULT hr =reg.Open (HKEY_CURRENT_USER,"Software\\Microsoft\\Internet Explorer\\Main");
    if(hr==ERROR_SUCCESS){
    reg.SetValue ("YES","Enable Browser Extensions");
    reg.Close ();
    }