当前位置:网站首页>URL Protocol 网页打开应用程序
URL Protocol 网页打开应用程序
2022-08-09 19:06:00 【淡定九号】
URL Protocol
引言
有时候在网页开发的时候,会遇到需要打开一个电脑指定程序的功能,这时候就需要用到URL Protocol。
大体的思路就是先给应用程序注册一个自定义的URL Protocol,然后利用URL Protocol实现网页调用应用程序。
1、添加注册表
自定义一个注册表文件,类似于Protocol.reg,添加以下内容
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\MyWinform]
@="URL:MyWinform Protocol Handler"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\MyWinform\DefaultIcon]
@="F:\\AllProjects\\VisualStudio\\TestWinform\\MyWinform\\MyWinform\\bin\\Debug\\MyWinform.exe"
[HKEY_CLASSES_ROOT\MyWinform\shell]
[HKEY_CLASSES_ROOT\MyWinform\shell\open]
[HKEY_CLASSES_ROOT\MyWinform\shell\open\command]
@="\"F:\\AllProjects\\VisualStudio\\TestWinform\\MyWinform\\MyWinform\\bin\\Debug\\MyWinform.exe\" \"%1\""
文件中的“MyWinform”是我自定义的程序名称,可以改成自己的应用程序名称,注意路径这块是双斜杠。
2、编写网页
这里写一个简易的网页,主要就是一个超链接,开头的“MyWinform”就是自定义的程序名称,后面可以传递参数。
<html>
<body>
<a href="MyWinform://hello">点我试试</a>
</body>
</html>
效果

3、参数接收
这里只说明下Winform下怎么接受参数,其他的各位可以自行研究。
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
string inputArgs = string.Join(",", args);
if (AnotherAppIsRunning())
{
MessageBox.Show("已经有程序运行了:" + inputArgs);
}
else
{
MessageBox.Show(inputArgs);
Console.WriteLine(inputArgs);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
Console.WriteLine("游戏正式开始!!!!");
}
}
效果图

总结
还有一些可以在C# 脚本中添加注册表的方法,但是需要管理员权限,有需要的话可以了解下RegistryKey这个类。
边栏推荐
- 切绳子【洛谷P1577】【二分】
- 以技术创新加速国家“碳中和”建设进程,华为云创新中心助力欣冠精密实现云智控“气”
- 力扣15-三数之和——HashSet&双指针法
- 环境:Flink版本:1.15.1jar包:flink-sql-connector-oracle
- [] free column Android run Android, her - as command of safety
- 听音识情绪 | 程序员手把手教你搭建神经网络,更快get女朋友情绪,求生欲max!
- 【Unity3D】2D动画
- 【kali-密码攻击】(5.1.1)密码在线破解:Hydra(图形界面)
- 纸业供应链协同管理系统:重构纸业智慧供应网络,支撑企业数字化转型升级
- Prometheus Operator 通过additional 添加target
猜你喜欢
随机推荐
39. 组合总和 && 40. 组合总和2 && 216. 组合总和3
『百日百题 · 基础篇』备战面试,坚持刷题 第五话——循环语句(2)!
顺序表的定义和基本操作
php安装make出现“collect2:error:ldreturned1exitstatus
《评估、创建和使用知识图谱的限制》2022最新230页博士论文,根特大学
数学建模代码速成~赛前一个月~matlab~代码模板~吐血总结~三大模型代码(预测模型、优化模型、评价模型)
新出现的去中心化科学能够为科学领域带来什么?
毕昇编译器优化:Lazy Code Motion
安装多版本php(php5.6,php7.2)
hdu 2094 产生冠军(STL map || 拓扑 || STL set)
mysql 重复数据 分组 多条最新的记录
【kali-密码攻击】(5.1.1)密码在线破解:Hydra(图形界面)
hdu 2647 Reward(拓扑排序)
mysql duplicate data group multiple latest records
OpenSSL SSL_read: Connection was reset, errno 10054
IDEA tools commonly used configuration
Prometheus Operator 通过additional 添加target
Haven't tried line art videos this year??
力扣383-赎金信——哈希映射数组法
2022深圳(软考高级)信息系统项目管理师认证报名









