好久没跟新博客了,今天跟新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]);}}}
        /// <summary>/// 获取启动参数/// </summary>/// <param name="args"></param>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要写你注册表中注册的项值,后面写传递给客户端的参数。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head><body><div><a href="WPFDemo://admin,123456">open exe</a></div></body>
</html>

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


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

Web页面调用本地客户端程序并传参相关推荐

  1. java web调用exe文件_从网页WEB上调用本地应用程序(java)

    自己写了个java的桌面程序,想通过web页面调用直接打开登录页面,传账号和密码两个参数. 在网上看了很多资料,大多处理方法是自定义个协议然后通过协议来打开本地exe文件,但是这样传的参数怎么解析? ...

  2. 网页Web上调用本地应用程序(.exe)

     一.web调用本地应用程序的思路 这个方法主要思路是利用自定义URL Protocol来调用应用程序.浏览器在解析到自定义URL Protocol之后,会寻找注册表,然后通过注册表启动相应的程序 ...

  3. [转]从网页Web上调用本地应用程序(.jar、.exe)的主流处理方法

    这个方法主要思路是利用自定义URL Protocol来调用应用程序.浏览器在解析到自定义URL Protocol之后,会寻找注册表,然后通过注册表启动相应的程序,然后启动改程序,传入参数.对于我这个项 ...

  4. 【方法】HTML网页调用本地Python程序

    欢迎支持个人chatgpt:https://chat.immuseai.com/register?promotion-code=pRE9p9DXCOBz3Z1s.注册即可使用GPT3.5和4.0. 代 ...

  5. DLL+ ActiveX控件+WEB页面调用例子

    因项目需要,开始学习并研究VC.DLL及ActiveX控件,网上资料找了很多,但没一个可用的或者说没一个例子可理解并运行的.没办法,自己研究吧.功夫不负有心人,终有小成了,呵呵,现在把自己学习总结了一 ...

  6. JS中调用本地Winform程序并传递参数

    场景 JS中调用本地exe程序: JS中调用本地exe程序_BADAO_LIUMANG_QIZHI的博客-CSDN博客 在上面的基础上怎样在js中调用本地winform程序并且传递参数. 注: 博客: ...

  7. 在web前端调用后台java程序(java类)的方式

    在web前端调用后台java程序(java类)的方式: 首先静态html标签是无法直接调用java程序的,但是可以通过imput button按钮点击,onclick事件调用一个js函数,用这个js函 ...

  8. 【护眼阅读】PC端通过主流常用浏览器打开本地WEB页面阅读本地TXT小说

    自用-通过WEB页面阅读本地小说,生成章节导航,设置字色和背景色达到护眼目的,HTML+CSS+JS 章节导航 需求分析 HTML代码 CSS代码 JS代码 总结 章节导航 从分析需求入手,查找资料, ...

  9. web页面调用打印机不预览直接执行打印

    web页面调用打印机不预览直接执行打印 <%@ page language="java" import="java.util.*" contentType ...

最新文章

  1. AVL树、splay树(伸展树)和红黑树比较
  2. java class修改_【原创】Java基础之简单修改jar包中的class
  3. evaluate函数使用无效_使用Keras和Pytorch处理RNN变长序列输入的方法总结
  4. ITK:预定义操作以对应两个图像中的像素
  5. java 静态绑定原理_Java方法的静态绑定与动态绑定讲解
  6. P5643-[PKUWC2018]随机游走【min-max容斥,dp】
  7. linux教程:配置Tomcat开机启动
  8. 一文读懂云上DevOps能力体系
  9. win10关机后自动重启_安卓手机重启和关机后再开机,区别原来这么大!别不当回事...
  10. 13.python中web框架概念的引入。
  11. Euler 的面(Face,F)、顶(Vertex,V)、棱(Edge,E)公式
  12. POJ 2054 Color a Tree#贪心(难,好题)
  13. 算法-求两个有序数组两两相加的值最小的K个数
  14. java权限管理面试_java shiro面试题
  15. Adams入门详解与实例(第2版)pdf电子书
  16. 数据挖掘实例1:亲和性分析示例(代码、注释、运行结果)
  17. 解决IPOD NANO7无法开机
  18. Koo叔说Shader-- 熟悉渲染管线
  19. 装饰者模式 增加功能;动态代理减少功能 只要完成自己部分功能 (繁杂部分交给他人处理)...
  20. 玩吧!北京!招人!Java!

热门文章

  1. AIGC:数字内容创新的新引擎,还有藏着更多你知道的细节
  2. 【MySQL进阶-03】深入理解mysql的索引分类,覆盖索引,覆盖索引失效,回表,MRR
  3. 小白照样读懂的VLAN原理讲解
  4. 福建学业水平考试计算机技能考网络设备配置思科篇
  5. 喝工夫茶,配一套精致的工夫茶具,简直相得益彰!
  6. 分享 5 个适用于IT工程师的面试技巧
  7. 如何机智的回复诈骗短信!
  8. 惊呆了!腾讯架构师撰写亿级网关、分布式微服务等“超进化”笔记 附源码
  9. 设计经验分享:如何打造一款优质的品牌标识
  10. 一个未经压缩的图片(bmp)的大小