夸克之书

  • 首页
  • 科普
  • 笔记
  • .NET/C#
  • 物联网
  • 算法
  • Linux
  • 树莓派
夸克之内,别有洞天
  1. 首页
  2. .NET/C#
  3. 正文

利用URL Protocol实现网页调用本地应用程序

2019-05-20 7823点热度 0人点赞 0条评论

用网页调用本地应用程序的思路是,先进行注册表注册自定义一个URL Protocol协议,再利用URL Protocol实现网页调用本地应用程序。

既然写在C#的版块里面,那咋怎么滴也得用C#来实现一下。知道原理是在注册表中注册一个自定义的URL Protocol协议之后就简单了,使用C#来操作注册表即可。

注册核心代码:

key = Registry.ClassesRoot.CreateSubKey(protocolName);
key.SetValue("", "Url:" + protocolName + " Protocol", RegistryValueKind.String);
key.SetValue("URL Protocol", path, RegistryValueKind.String);

key.CreateSubKey("DefaultIcon").SetValue("", path + ",1");

shell = key.CreateSubKey("shell");
open = shell.CreateSubKey("open");
command = open.CreateSubKey("command");
cmd = """ + path + """;
if (useParam)
    cmd += " "%1"";
command.SetValue("", cmd);

protocolName表示协议名称,path表示exe文件位置,必须为绝对路径。

接下来就来测试一下:

1、编写一个Winform的程序作为被调用app。

重点在于在main方法中接收传入的参数。如下图所示:

%title插图%num

2、注册一个custumapp。

%title插图%num

3、在网页中测试

网页代码很简单,一行即可。

<a href="custumapp://url?name=geeiot">点我测试</a>

4、测试结果

%title插图%num

5、Demo下载

UrlProtocolRegister下载

特别说明,项目中UrlProtocolRegister代码来源于 https://github.com/Hawkeyes0/UrlProtocolRegister ,并稍加改动。主要是懒,有轮子了就不想写了。

本作品采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2020-12-13

afirefish

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论
放松一下
https://www.quarkbook.com/wp-content/uploads/2021/05/凤凰传奇-海底(Live).flac
分类
  • .NET/C#
  • Linux
  • 树莓派
  • 物联网
  • 科普
  • 笔记
  • 算法
  • 默认
最新 热点 随机
最新 热点 随机
在代码中判断龙芯新旧世界平台 Windows获取固定后缀的IPv6地址 目前为止,你可能找不到第二台支持志强的1L小主机(P350 Tiny+W-1350+ECC+双NVME+PCIE扩展)!!! iKuai(爱快)实现成都移动IPTV IPoE拨号 Linux EXT4分区误删除后数据恢复 C#连接到巴法云
在代码中判断龙芯新旧世界平台
严肃一点的排序算法(4) – 桶排序 【算法】具有层级关系的城市,例如"中国 广州","中国 浙江 杭州" 一个 List 最后应该是转成树状图输出 .NET Core使用科大讯飞SDK来进行语音识别和合成 Error response from daemon: cannot stop container: ******: Cannot kill container *******:..... 23种常见的设计模式(3):抽象工厂模式 iKuai(爱快)实现成都移动IPTV IPoE拨号
最近评论
Eagle 发布于 9 个月前(10月21日) 参考博主教程成功搞定了成都移动IPTV组播转单播,电脑、手机都可以播放了。但目前有个问题,原IPTV...
rundoze 发布于 11 个月前(08月31日) 牛逼
cc21216695 发布于 2 年前(09月27日) 试了一下,加入启动项也无效,压根没有用
afirefish 发布于 3 年前(11月28日) 非常感谢,非常棒!
》随缘《 发布于 3 年前(11月20日) 最新【一键处理】方法: https://github.com/MrXhh/VSTools/rele...
书签
  • 打赏
  • 毒鸡汤
  • 米店
  • 金鱼直播间

COPYRIGHT © 2023 quarkbook.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备15036129号-9

登录
注册|忘记密码?