开机时就发现explorer.exe中有rarext.dll
查了下注册表中含有rarext.dll的项C:\Program Files\WinRAR\rarext.dll
HKEY_CLASSES_ROOT\CLSID\{B41DB860-8EE4-11D2-9906-E49FADC173CA}\InProcServer32HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{B41DB860-8EE4-11D2-9906-E49FADC173CA}\InProcServer32 这种是通过com接口来实现随explorer加载的吗?
是什么原理?如何实现类似方法来加载dll

解决方案 »

  1.   

    刚继续查了下
    B41DB860-8EE4-11D2-9906-E49FADC173CA
    这个值
    应该是在注册表右键扩展菜单中的
    这样就可以随explorer启动加载了~
      

  2.   

    囧 不是windows shell扩展编程么? 不需要dll注入吧http://blog.163.com/yesaidu@126/blog/static/51819307200861742138193/
      

  3.   

    我用atl写了一个简单的dll(com接口)
    然后注册了这个dll(regsvr32 dll路径)
    接着在注册表中找到该dll的CLSID
    在下面两个键下新建项
    HKLM\Software\Classes\Folder\ShellEx\ContextMenuHandlers
    HKLM\Software\Classes\Directory\ShellEx\ContextMenuHandlers  
    把CLSID写进去
    可是重启后在explorer.exe进程里并有看到所要的dll加载
    右键菜单也没变化!
    why?