8,315
edits
Paradox-01 (talk | contribs) mNo edit summary |
Paradox-01 (talk | contribs) m (Sub Menu) |
||
Line 1: | Line 1: | ||
==Research== | ==Research== | ||
=== | ===Hive=== | ||
* '''HKEY_CLASSES_ROOT is a <span style="color:red">merged view</span>''' of the '''...\Software\Classes''' sub hierarchies in | * '''HKEY_CLASSES_ROOT is a <span style="color:red">merged view</span>''' of the '''...\Software\Classes''' sub hierarchies in | ||
** HKLM ('''HKEY_LOCAL_MACHINE''') | ** HKLM ('''HKEY_LOCAL_MACHINE''') | ||
Line 9: | Line 9: | ||
====Minimum requirements for new file types | ===Key types=== | ||
'''Reg_SZ''' | |||
* Standard string | |||
'''Reg_EXPAND_SZ''' | |||
* Allows system variables like in <code>"'''%SystemRoot'''"\Notepad.exe %1</code> | |||
* When used it expands to become an actual path. | |||
'''Other''' | |||
* https://docs.microsoft.com/en-us/windows/desktop/sysinfo/registry-value-types | |||
===Minimum requirements for new file types=== | |||
* '''HKEY_CLASSES_ROOT\.[yourExt]\shell\open\command''' | * '''HKEY_CLASSES_ROOT\.[yourExt]\shell\open\command''' | ||
* this | * if this key will store a system variable, it's '''Default key''' will need to be of '''type REG_EXPAND_SZ''' | ||
** creating this manually gives a REG_SZ type, which will not work and cannot be changed within the regedit GUI | ** creating this manually gives a REG_SZ type, which will not work and cannot be changed within the regedit GUI | ||
** REG_EXPAND_SZ type can be created with reg files and '''programmatically''' | ** REG_EXPAND_SZ type can be created with reg files and '''programmatically''' | ||
===Mind already existing alternate hierarchies=== | |||
* '''HKEY_CLASSES_ROOT\.[yourExt] | * '''HKEY_CLASSES_ROOT\.[yourExt] | ||
If not empty, this key might have data such as '''<span style="color:red">ext</span>file''' which will point to '''HKEY_CLASSES_ROOT\[<span style="color:red">ext</span>file]''' | If not empty, this key might have data such as '''<span style="color:red">ext</span>file''' which will point to '''HKEY_CLASSES_ROOT\[<span style="color:red">ext</span>file]''' | ||
Line 31: | Line 43: | ||
===User overrides=== | |||
The following will override HKEY_LOCAL_MACHINE keys as the HKEY_CURRENT_USER has a higher priority. | The following will override HKEY_LOCAL_MACHINE keys as the HKEY_CURRENT_USER has a higher priority. | ||
Line 46: | Line 58: | ||
===System overrides (backups) ?=== | |||
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts | Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts | ||
Applications\NOTEPAD.EXE_.yourExt (type REG_DWORD) | Applications\NOTEPAD.EXE_.yourExt (type REG_DWORD) | ||
Line 52: | Line 64: | ||
<!-- | <!-- | ||
===Default programs=== | |||
* "In Windows 10 to add the program to the "Defaults Programs" list, the program should have the "CompanyName" in resources." - [https://answers.microsoft.com/en-us/windows/forum/windows_10-other_settings/how-to-add-my-own-program-to-the-list-of-default/cd1d1305-9870-4156-9b99-fc03b40c1fc9 Nazaury] | * "In Windows 10 to add the program to the "Defaults Programs" list, the program should have the "CompanyName" in resources." - [https://answers.microsoft.com/en-us/windows/forum/windows_10-other_settings/how-to-add-my-own-program-to-the-list-of-default/cd1d1305-9870-4156-9b99-fc03b40c1fc9 Nazaury] | ||
--> | --> | ||
===Sub Menus=== | |||
For sub menus you need a sub commands value. | |||
shell | |||
| | |||
+-- MenuName | |||
| | |||
+-- Name: Icon, Type: REG_SZ, Data: "PATH_to_exe" | |||
+-- Name: MUIVerb, Type: REG_SZ, Data: displayed name | |||
+-- Name: '''SubCommands''', Type: REG_SZ, Data: MenuName.commandName1;MenuName.commandName2;MenuName.commandNameN | |||
Individual commands are then stored at | |||
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell | |||
MenuName.commandName1 | |||
| | |||
+-- command | |||
MenuName.commandName2 | |||
| | |||
+-- command | |||
MenuName.commandNameN | |||
| | |||
+-- command | |||
===Terms=== | ===Terms=== | ||
* The H in abbreviations stands for Hive. | * The H in abbreviations stands for Hive. |
edits