好比,自定義協議名稱爲 myapp,要啓動的本地程序爲 myapp.exe。web
1)首先向註冊表添加以下內容:shell
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\myapp] @="" "URL Protocol"="" [HKEY_CLASSES_ROOT\myapp\DefaultIcon] @="myapp.exe,1" [HKEY_CLASSES_ROOT\myapp\shell] [HKEY_CLASSES_ROOT\myapp\shell\open] [HKEY_CLASSES_ROOT\myapp\shell\open\command] @="\"d:\\myapp.exe\" \"%1\""
2)用 VS 寫一個本地程序 myapp.exe。我這裏寫的是一個WPF程序:瀏覽器
private void Window_Loaded(object sender, RoutedEventArgs e) { textBlock1.Text = string.Empty; string[] args = Environment.GetCommandLineArgs(); foreach (var arg in args) { textBlock1.Text += arg + "\r\n"; } }
3)在 web 頁面啓動 myapp.exeapp
function myAppTest() { window.location = 'myapp://openAppTest'; }
4) 在瀏覽器地址欄錄入 myapp://openAppTest 也能夠啓動 myapp.exespa
啓動 myapp.exe 的效果以下:命令行
myapp.exe 會獲取到命令行參數:myapp://openAppTest/3d