通用网页调用本地应用程序方案(windows平台)

一、更新注册表

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\receiveOutOfArg]
"URL Protocol"="D:\\LongHaibin\\Learn\\Net\\receiveOutOfArg\\receiveOutOfArg\\bin\\Debug\\receiveOutOfArg.exe"
@="applicationName"
[HKEY_CLASSES_ROOT\receiveOutOfArg\DefaultIcon]
@="D:\\LongHaibin\\Learn\\Net\\receiveOutOfArg\\receiveOutOfArg\\bin\\Debug\\receiveOutOfArg.exe,1"
[HKEY_CLASSES_ROOT\receiveOutOfArg\shell]
[HKEY_CLASSES_ROOT\receiveOutOfArg\shell\open]
[HKEY_CLASSES_ROOT\receiveOutOfArg13:14 2017/5/11\shell\open\command]
@="\"D:\\LongHaibin\\Learn\\Net\\receiveOutOfArg\\receiveOutOfArg\\bin\\Debug\\receiveOutOfArg.exe\" \"%1\""

说明:

  • applicationName:表示网页打开时提示的名称
  • "%1":表示要传递的参数,只是%1,\":表示的是转义字符

二、创建一个应用

以下是c#应用程序的代码: 入口位置:

static class Program
{
    /// <summary>
    /// 应用程序的主入口点。
    /// </summary>
    [STAThread]
    static void Main(string[] args)
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1(args));
    }
}

窗体代码:

public partial class Form1 : Form
{
    private string[] args;

    public Form1(string[] args)
    {
        this.args = args;
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        this.label1.Text = string.Join(",", this.args);
    }
}

三、创建一个网页

网页用a标签调用即可:

<a href="receiveOutOfArg://abc">open</a>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏码匠的流水账

关于ribbonClient配置的一个坑

不知道从哪个版本起,给ribbon配置物理的server list起,单纯配置xxx.ribbon.listOfServers不起效果了,于是就开启了埋坑之旅。

47420
来自专栏耕耘实录

找回win7桌面IE图标我有绝招

现在很多同学都用了微软的新一代操作系统Windows7,都为Windows7的华丽界面及更人性化得操作所深深吸引,但是由于我们大多数同学都习惯了原来的Windo...

37250
来自专栏Android 研究

Android系统启动——6 SystemServer启动

SystemServer是Android系统的核心之一,大部分Android提供的服务都运行在这个进程里,SystemServer中运行的服务总共有60多种。为...

80730
来自专栏技术沉淀

Rails应用分页: Will Paginate

11830
来自专栏听雨堂

网页链接打开程序

就像电驴那样: 网页链接地址是 : ed2k:// ¦file ¦Dracula.1992.CE.2AUDIO.DVDRip.DTS.X264.GUEVA...

223100
来自专栏后台及大数据开发

CentOS下redis集群安装

环境: 一台CentOS虚拟机上部署六个节点,创建3个master,3个slave节点

10420
来自专栏运维

Ambari2.6安装部署Hadoop2.7

Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的供应、管理和监控。Ambari已支持大多数Hadoop组件,包括HDFS、...

19820
来自专栏程序猿

sql 2005 注入语句

[Copy to clipboard]CODE: /**/and/**/(select/**/top/**/1/**/isnull(cast([name]/**...

349100
来自专栏bboysoul

linux编译安装apache

wget http://mirrors.ustc.edu.cn/apache/httpd/httpd-2.4.25.tar.gz tar -zxvf http...

32430
来自专栏10km的专栏

cmake:vs2015/MinGW静态编译leveldb

leveldb是google的开源项目(https://github.com/google/leveldb), 在linux下编译很方便,然而官方版本却没有提供...

63760

扫码关注云+社区

领取腾讯云代金券