zoukankan      html  css  js  c++  java
  • 使用浏览器自定义协议启动本地程序(.EXE文件)

    比如,自定义协议名称为 myapp,要启动的本地程序为 myapp.exe。

    1)首先向注册表添加如下内容:

    Windows Registry Editor Version 5.00
    
    [HKEY_CLASSES_ROOTmyapp]
    @=""
    "URL Protocol"=""
    
    [HKEY_CLASSES_ROOTmyappDefaultIcon]
    @="myapp.exe,1"
    
    [HKEY_CLASSES_ROOTmyappshell]
    
    [HKEY_CLASSES_ROOTmyappshellopen]
    
    [HKEY_CLASSES_ROOTmyappshellopencommand]
    @=""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 + "
    ";
        }
    }

    3)在 web 页面启动 myapp.exe

    function myAppTest() {
        window.location = 'myapp://openAppTest';
    }

    4) 在浏览器地址栏录入 myapp://openAppTest 也可以启动 myapp.exe

    启动 myapp.exe 的效果如下:

    myapp.exe 会获取到命令行参数:myapp://openAppTest/

  • 相关阅读:
    tty & pty & pts
    PageRank
    How to run a terminal inside of vim?
    vimdiff
    svn's tree conflict
    svn's diff command
    符号表分离
    gcc -D
    Options for Debugging Your Program or GCC
    invoking gdb
  • 原文地址:https://www.cnblogs.com/anjou/p/10045177.html
Copyright © 2011-2022 走看看