问题
I am researching the development of an add-on for Windows Explorer that will add some enhancements to the WebDAV therein, and to that end I'm looking for a good, reliable way to force a DLL to be loaded with Windows Explorer in XP/Vista/Win7 32- and 64-bit OSes.
I seem to recall that a BHO would be loaded by Windows Explorer in the same way that it is in IE, but my initial tests of this are negative on Vista 64. It's highly possible I'm just doing something wrong there and will look into that some more.
I also looked at Shell Extensions, but as far as I can tell those are only loaded if certain actions are taken. I could also be wrong about this.
So, I'd love some suggestions for a good way to make this happen :)
I just need to have the DLL loaded whenever Windows Explorer is loaded.
Update: Right after I posted this question I discovered that my BHO registration had the NoExplorer option set in the registry, which I suppose would explain why it wasn't working. After removing that, it looks like it's going to work. I'm still open to learning if there are any other ways to accomplish the same thing, though.
回答1:
I'd take a look at the TortoiseSVN project. Specifically some of their hints for debugging Explorer shell extensions. See http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk/src/Debug-Hints.txt
Their list of registry entries is about 300 lines, so I won't copy them here. You can view them at: http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk/src/TortoiseShell/register.registry (user: guest, password "").
来源:https://stackoverflow.com/questions/1718670/what-is-a-reliable-way-to-get-a-dll-to-load-when-windows-explorer-loads