Doug Cook wrote:
Shell extensions are very specific to a particular bitness of Windows.-- 32-bit DLLs can only load into 32-bit processes. -- 64-bit DLLs can only load into 64-bit processes. The default shell for Win64 is the 64-bit version of explorer.exe (this is configurable), and it will NOT load the 32-bit gvimext.dll for two reasons: 1. The 32-bit gvimext.dll is a 32-bit DLL. 2. The 32-bit gvimext.dll is registered in the 32-bit registry. To make this work, you would have to rebuild gvimext.dll in a 64-bit version and register it in the 64-bit section of the registry. Note that you may find gvimext working in such places as the File-Save and File-Load dialogs of 32-bit processes, since they DO load the 32-bit shell extensions. You can also run the 32-bit shell instead of the 64-bit shell, and this will get your shell extensions back in most cases. As an alternative, you can get "Open with gVim" in your right-click menu WITHOUT gvimext.dll. This works on ALL versions of Windows. Open RegEdit and: 1. Navigate to HKEY_CLASSES_ROOT\* 2. Create or open a subkey named "shell". 3. Create a subkey named "vim". 4. (Optional.) Set the default value of the "vim" key to whatever you want to appear in the right-click menu (i.e. "Edit with gVim"). If you don't do this, the name of the subkey ("vim") will be used. 5. Create a subkey named "command". 6. Set the default value of the "command" key to the command you want to run. Mine is: C:\Tools\vim\vim70\gvim.exe "%1"
You can get this functionality without even editing the registry, by adding a shortcut to gvim.exe into your "SendTo" directory. But it won't give you the same menu items you get with gvimext.dll, and in particular the choice to edit in an already-running instance of gvim (and which one) or in a new one.
Best regards, Tony.
