Windows Shell Extension

From OniGalore
Jump to navigation Jump to search

In Windows you can right-click a file to show a context-menu and choose from various options.

There can be customized options for specific file types if you add registry keys to both HKEY_CLASSES_ROOT (or HKEY_LOCAL_MACHINE).

Originally, Gumby wrote such a shell extension but it refuses to work on some systems. Either Windows 10 needs HKEY_LOCAL_MACHINE as well or other registry settings of other programs are interfering.

Setup for oni. file type

HKEY_CLASSES_ROOT

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.oni]

[HKEY_CLASSES_ROOT\.oni\shell]

[HKEY_CLASSES_ROOT\.oni\shell\OniSplit_or_OniSplitGUI]
@="Command name to be displayed in context menu"

[HKEY_CLASSES_ROOT\.oni\shell\OniSplit_or_OniSplitGUI\command]
@="\"C:\\PATH\\Batch_for_OniSplit_or_OniSplitGUI.exe\" \"%1\""


HKEY_LOCAL_MACHINE

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.oni]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.oni\shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.oni\shell\OniSplit_or_OniSplitGUI]
@="Command name to be displayed in context menu"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.oni\shell\OniSplit_or_OniSplitGUI\command]
@="\"C:\\PATH\\Batch_for_OniSplit_or_OniSplitGUI.exe\" \"%1\""


Setup for .xml file type

Since .xml is a widly used file extension there seem to be additional settings had override the default lookups for better management.

The .xml key at HKEY_LOCAL_MACHINE\SOFTWARE\Classes has a Default value (redirect) with "xmlfile".

If you remove the xmlfile value then Classes\xmlfile will be looked up nonetheless. (Doublecheck on other machines.)

So, next reg path to modify is this:

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\xmlfile\shell\OniSplit_or_OniSplitGUI]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\xmlfile\shell\OniSplit_or_OniSplitGUI\command]
@="\"C:\\PATH\\Batch_for_OniSplit_or_OniSplitGUI.exe\" \"%1\""


Notes for repair after standard application changed

When you change xml standard application following gets added and breaks the context menu options:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.xml\UserChoice]

As soon as you remove this key context menu works again. However this removes the possibility to double-click .xml to open them.

Somthing is still missing.


Advanced conversions

If another program handles OniSplit and automatically feeds it with the right arguments you would only need one explorer context menu option such as:

add to OniSplit helper list and process 

Some conversions require more than one input file. In that case can collect the other files first:

add to OniSplit helper list

Additional, useful options might be:

repeat last OniSplit helper conversion
clear OniSplit helper list


Install and uninstall

A less tech-savvy modder shouldn't need to deal with registry settings.

AEI could be used to distribute an OniSplitHelper tool that manages the registry.

Perhaps "Vago" and "Simple Onisplit GUI" could be adapted to do that.