Shell Execute Verb Locations in Windows Registry
In Windows, the Registry stores shell execute verb associations
across several dedicated keys depending on whether the configuration
applies system-wide, per-user, or to specific executable names. These
verbs—such as open, edit, print,
or custom actions—define the commands executed when an application or
file context action is triggered via the Windows shell or the
ShellExecute API.
1. Application-Specific Shell Verbs
For individual executables, registered verbs are primarily stored
under the Applications subkey in
HKEY_CLASSES_ROOT (HKCR), which merges machine-level and
user-level settings:
- Merged View:
HKEY_CLASSES_ROOT\Applications\<ExecutableName.exe>\shell - System-Wide (All Users):
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\<ExecutableName.exe>\shell - Current User Only:
HKEY_CURRENT_USER\Software\Classes\Applications\<ExecutableName.exe>\shell
Under the \shell key, each subkey represents a distinct
verb (e.g., open, runas). Inside each verb
key, a command subkey contains the default string value
defining the exact command line and parameters executed (for example,
"C:\Path\To\App.exe" "%1").
2. Generic Executable File Verbs
To manage verbs that apply universally to all .exe files
rather than a specific program, Windows references the programmatic
identifier (ProgID) for executables:
HKEY_CLASSES_ROOT\exefile\shellHKEY_LOCAL_MACHINE\SOFTWARE\Classes\exefile\shell
Common verbs located here include standard system actions like
open, runas (Run as administrator), and
runasuser.
3. ProgID and File Extension Associations
When an executable registers verbs for specific file types rather than its own binary name, the verbs are stored under the ProgID associated with that file extension:
HKEY_CLASSES_ROOT\<ProgID>\shell\<verb>\commandHKEY_CURRENT_USER\Software\Classes\<ProgID>\shell\<verb>\commandHKEY_LOCAL_MACHINE\SOFTWARE\Classes\<ProgID>\shell\<verb>\command
4. System File Associations
For verbs mapped to broad categories of file types (such as
audio, image, or system),
associations are recorded under:
HKEY_CLASSES_ROOT\SystemFileAssociations\<extension_or_type>\shell