比如,自定义协议名称为 myapp,要启动的本地程序为 myapp.exe。
1)首先向注册表添加如下内容:
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.exe
function myapptest() { window.location = 'myapp://openapptest'; }
4) 在浏览器地址栏录入 myapp://openapptest 也可以启动 myapp.exe
启动 myapp.exe 的效果如下:
myapp.exe 会获取到命令行参数:myapp://openapptest/
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Net Core Web Api项目与在NginX下发布的方法
asp.net core3.1 引用的元包dll版本兼容性问题解决方案
IdentityServer4实现.Net Core API接口权限认证(快速入门)
ASP.NET Core MVC通过IViewLocationExpander扩展视图搜索路径的实现
网友评论