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.

Reply via email to