陈程的技术博客

  • 关于作者
全栈软件工程师
一个专注于技术研究创新的程序员
  1. 首页
  2. .NET
  3. 正文

网页连接调起本地应用,注册表写入

2020年10月25日 598点热度 0人点赞 0条评论

想要在网页调起本地的应用,需要在注册表里写入应用信息

gitee:https://gitee.com/zuiyuewentian/province-platform-tools

详细见代码:

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;

namespace ProvincePlatformTools.Common
{
    public static class RegisterTableHelper
    {
        /// 

        /// 注册启动项到注册表
        /// 

        public static void Reg(string regName)
        {
            //注册的协议头,即在地址栏中的路径 如QQ的:tencent://xxxxx/xxx 例如:我注册的是jun 在地址栏中输入:jun:// 就能打开本程序
            var surekamKey = Microsoft.Win32.Registry.ClassesRoot.CreateSubKey(regName);
            //以下这些参数都是固定的,不需要更改,直接复制过去 
            var shellKey = surekamKey.CreateSubKey("shell");
            var openKey = shellKey.CreateSubKey("open");
            var commandKey = openKey.CreateSubKey("command");
            surekamKey.SetValue("URL Protocol", "");
            //这里可执行文件取当前程序全路径,可根据需要修改
            var exePath = Process.GetCurrentProcess().MainModule.FileName;
            commandKey.SetValue("", "\"" + exePath + "\"" + " \"%1\"");
        }

        /// 

        /// 取消注册
        /// 

        public static void UnReg(string regName)
        {
            //直接删除节点
            Microsoft.Win32.Registry.ClassesRoot.DeleteSubKeyTree(regName);
        }
    }
}

调起的页面:

<html xmlns="http://www.w3.org/1999/xhtml">  
 <head>  
<title>官网</title>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
 </head>  
 <body>  
     <div>  
         <a href="proplat://url=http://192.168.60.156:8199/zuigaofa-api-code/nei-html/index.html?czrname=九号球&ssbm=XXX&ssfy=0&lxdh=&courtName=XXXX&czrid=jhq&ajid=500000231"> 打开平台工具  </a>  
     </div>  
 </body>  
</html>

 

标签: js winform 注册表
最后更新:2021年4月2日

博主

全栈工程师,侧重项目技术解决方案规划和开发

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

文章评论

取消回复

分类
  • .NET (65)
  • docker (3)
  • linux (12)
  • python (20)
  • web (14)
  • 小程序 (4)
  • 数据库 (2)
  • 未分类 (4)
  • 杂七杂八 (10)
标签聚合
js DevExpress linux python winform nginx centos C#
最新 热点 随机
最新 热点 随机
.NET开发手册标准参考 招募兼职前端开发 Centos安装dotnet6环境 VS上切换分支,vs编译运行出现bug,A fatal error was encountered彻底解决方案 用C#封装一个线程安全的缓存器,达到目标定时定量更新入库 C#通过特性的方式去校验指定数据是否为空
主程序ui线程异常处理方案和只允许同时运行一个进程的方法 ListHelper帮助类,DataTable和List之间转换 C#访问网络图片,先从本地获取,如果没有再从网络获取,保存到本地 用C#封装一个线程安全的缓存器,达到目标定时定量更新入库 解决winform界面刷新闪烁问题的多种方案 小程序-上传图片功能

COPYRIGHT © 2021 陈程的技术博客. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS