通用网页调用本地应用程序方案(windows平台)
Posted Sam先生的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通用网页调用本地应用程序方案(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>
以上是关于通用网页调用本地应用程序方案(windows平台)的主要内容,如果未能解决你的问题,请参考以下文章
通用 Windows 平台应用注册失败 - 被 AppLocker 阻止