Code: Select all
[HKEY_CLASSES_ROOT\*\shell]
@="Notepad"
[HKEY_CLASSES_ROOT\*\shell\Notepad]
@="Notepad"
[HKEY_CLASSES_ROOT\*\shell\Notepad\command]
@="notepad %1"
Icfu
Moderators: Hacker, petermad, Stefan2, white
Code: Select all
[HKEY_CLASSES_ROOT\*\shell]
@="Notepad"
[HKEY_CLASSES_ROOT\*\shell\Notepad]
@="Notepad"
[HKEY_CLASSES_ROOT\*\shell\Notepad\command]
@="notepad %1"
Code: Select all
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell]
@="TCMD"
[HKEY_CLASSES_ROOT\*\shell\TCMD]
@="TCMD"
[HKEY_CLASSES_ROOT\*\shell\TCMD\command]
@="\"C:\\TotalCMD\\TOTALCMD.EXE\" /o /t \"%1\""
Quite a nice keyHKCR\Unknown
Code: Select all
[HKEY_CLASSES_ROOT\Unknown\shell\openas\command]
Currently when there is no association, TC calls ShellExecuteEx with verb "openwith". This was recommended somehwere in the docs (sorry, don't remember where).
Is this history entry is obsolote?14.02.07 Fixed: When pressing ENTER on a file on Windows 2000, XP and Vista, do not search for the default verb, but pass a NULL pointer to ShellExecuteEx
Nope, this key is for all files, no matter if they have a known, unknown or no extension at all.HKCR\* is reserved for assigned/known extentions
It would in theory (if TC would support it), but that key is difficult to handle from the user's point of view. For example if you add a default open action in there, the context menu entry "Open With" will be renamed to "Open" while functionality is still intact, but you aren't able to differentiate anymore. From my own experiences it's better to either leave that key as is or nuke it, which is what I prefer for several reasons.Besides that, depending on your needs, wouldn't HKCR\Unknown be a beter place to place your custom command?
Code: Select all
[HKEY_CLASSES_ROOT\*\shell\OpenAs]
@="Open with..."
[HKEY_CLASSES_ROOT\*\shell\OpenAs\command]
@="rundll32.exe shell32.dll,OpenAs_RunDLL %1"
[-HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\Open With]
[-HKEY_CLASSES_ROOT\Unknown\shell]
Explorer's behaviour can at least be corrected if you don't like Open With functionality by manipulating the registry.Which is the right behaviour? I don't like explorer's behaviour but I sure don't like TC hardcoded way either.
Indeed, this would solve another problem as well:I think on Windows NT based systems you should call ShellExecuteEx with verb set to NULL even no association exists. This will have the same effect if there is really no association but also consider the currently not detected associations.