Web页面调用本地客户端程序并传参

好久没跟新博客了,今天跟新2019年的第一篇博客,最近在做项目,需求就是Web页面调用本地客户端程序并传参,传参是为了避免客户端再次输入账号密码,直接跳过登录。


翻了不少资料,总的来说好像都要操作注册表调用客户端以及传参。

1.写了一个简单的WPF的Demo来接收参数,当接收到参数时弹出消息框。(只要是客户端应该都有个主入口来接收参数的

 public partial class App : Application
    {
        protected override void OnStartup(StartupEventArgs e)
        {
            if (e.Args.Length > 0)
            {
                var window = new WPFDemo();
                window.ShowEx(e.Args[0]);
            }
        }
    }
        /// 
        /// 获取启动参数
        /// 
        /// 
        public void ShowEx(string args)
        {
            MessageBox.Show(args);
        }

2.往注册表写入信息,客户端文件路径以及参数占位符(个人理解)。

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\WPFDemo]
@=""
"URL Protocol"=""
[HKEY_CLASSES_ROOT\WPFDemo\DefaultIcon]
@=C:\\Users\\Administrator\\Desktop\\新建文件夹\\WpfApp1.exe,1"
[HKEY_CLASSES_ROOT\WPFDemo\shell]
@=""
[HKEY_CLASSES_ROOT\WPFDemo\shell\open]
@=""
[HKEY_CLASSES_ROOT\WPFDemo\shell\open\command]
@="\"C:\\Users\\Administrator\\Desktop\\新建文件夹\\WpfApp1.exe\" \"%1\""

绿色的是注册表中的项值,红色的是你要调用的客户端路径,注意双斜扛%1应该代表的是你要传的参。

新建个txt文本,把以上文本复制进去保存。跟改下txt后缀名为reg,双击运行即可注册进注册表。

然后win+R,输入regedit,打开注册表。检查注册成功了没,如下图注册成功。

3.建个web页面测试下。WPFDemo要写你注册表中注册的项值,后面写传递给客户端的参数




  
      
  
    
        
    

4.运行html,测试下是否成功。客户端弹出所传参数,说明接收成功了。到此web端调用本地客户端程序传参完成,后续客户端接收参数跳过登录也好,做其它操作也好都行了。

Web页面调用本地客户端程序并传参_第1张图片

Web页面调用本地客户端程序并传参_第2张图片


好久没写博客了,正好项目需要研究这个问题,记录下来,以便以后自己遇到相同问题有个参照,当然能帮助到其他人就更好了。代码学习感觉是个长期积累的过程,不能松懈。

你可能感兴趣的:(web,客户端,exe,传参,web调用客户端)