Created
December 21, 2017 05:55
-
-
Save davidbarkhuizen/d33ce935adbfe6320802ebcaf01fb6b6 to your computer and use it in GitHub Desktop.
custom URI protocols in windows
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
>>> | |
Registering an Application to a URI Scheme | |
https://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx | |
To register an application to handle a particular URI scheme, add a new key, along with the appropriate subkeys and values, to HKEY_CLASSES_ROOT. The root key must match the URI scheme that is being added. For instance, to add an "alert:" scheme, add an alert key to HKEY_CLASSES_ROOT, as follows: | |
HKEY_CLASSES_ROOT | |
alert | |
URL Protocol = "" | |
Under this new key, the URL Protocol string value indicates that this key declares a custom pluggable protocol handler. Without this key, the handler application will not launch. The value should be an empty string. | |
Keys should also be added for DefaultIcon and shell. The Default string value of the DefaultIcon key must be the file name to use as an icon for this new URI scheme. The string takes the form "path, iconindex" with a maximum length of MAX_PATH. The name of the first key under the shell key should be an action verb, such as open. Under this key, a command key or a DDEEXEC key indicate how the handler should be invoked. The values under the command and DDEEXEC keys describe how to launch the application handling the new protocol. | |
Finally, the Default string value should contain the display name of the new URI scheme. The following example shows how to register an application, alert.exe in this case, to handle the alert scheme. | |
HKEY_CLASSES_ROOT | |
alert | |
(Default) = "URL:Alert Protocol" | |
URL Protocol = "" | |
DefaultIcon | |
(Default) = "alert.exe,1" | |
shell | |
open | |
command | |
(Default) = "C:\Program Files\Alert\alert.exe" "%1" | |
When a user clicks a link containing your custom URI scheme, Windows Internet Explorer launches the pluggable protocol handler registered for that URI scheme. If the specified open command specified in the registry contains a %1 parameter, Internet Explorer passes the URI to the registered pluggable protocol handler application. | |
<<< |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment