使用瀏覽器自定義協議啓動本地程序(.EXE文件)

好比,自定義協議名稱爲 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

相關文章
相關標籤/搜索