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]);}}}
/// <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页面调用本地客户端程序并传参相关推荐
- java web调用exe文件_从网页WEB上调用本地应用程序(java)
自己写了个java的桌面程序,想通过web页面调用直接打开登录页面,传账号和密码两个参数. 在网上看了很多资料,大多处理方法是自定义个协议然后通过协议来打开本地exe文件,但是这样传的参数怎么解析? ...
- 网页Web上调用本地应用程序(.exe)
一.web调用本地应用程序的思路 这个方法主要思路是利用自定义URL Protocol来调用应用程序.浏览器在解析到自定义URL Protocol之后,会寻找注册表,然后通过注册表启动相应的程序 ...
- [转]从网页Web上调用本地应用程序(.jar、.exe)的主流处理方法
这个方法主要思路是利用自定义URL Protocol来调用应用程序.浏览器在解析到自定义URL Protocol之后,会寻找注册表,然后通过注册表启动相应的程序,然后启动改程序,传入参数.对于我这个项 ...
- 【方法】HTML网页调用本地Python程序
欢迎支持个人chatgpt:https://chat.immuseai.com/register?promotion-code=pRE9p9DXCOBz3Z1s.注册即可使用GPT3.5和4.0. 代 ...
- DLL+ ActiveX控件+WEB页面调用例子
因项目需要,开始学习并研究VC.DLL及ActiveX控件,网上资料找了很多,但没一个可用的或者说没一个例子可理解并运行的.没办法,自己研究吧.功夫不负有心人,终有小成了,呵呵,现在把自己学习总结了一 ...
- JS中调用本地Winform程序并传递参数
场景 JS中调用本地exe程序: JS中调用本地exe程序_BADAO_LIUMANG_QIZHI的博客-CSDN博客 在上面的基础上怎样在js中调用本地winform程序并且传递参数. 注: 博客: ...
- 在web前端调用后台java程序(java类)的方式
在web前端调用后台java程序(java类)的方式: 首先静态html标签是无法直接调用java程序的,但是可以通过imput button按钮点击,onclick事件调用一个js函数,用这个js函 ...
- 【护眼阅读】PC端通过主流常用浏览器打开本地WEB页面阅读本地TXT小说
自用-通过WEB页面阅读本地小说,生成章节导航,设置字色和背景色达到护眼目的,HTML+CSS+JS 章节导航 需求分析 HTML代码 CSS代码 JS代码 总结 章节导航 从分析需求入手,查找资料, ...
- web页面调用打印机不预览直接执行打印
web页面调用打印机不预览直接执行打印 <%@ page language="java" import="java.util.*" contentType ...
最新文章
- AVL树、splay树(伸展树)和红黑树比较
- java class修改_【原创】Java基础之简单修改jar包中的class
- evaluate函数使用无效_使用Keras和Pytorch处理RNN变长序列输入的方法总结
- ITK:预定义操作以对应两个图像中的像素
- java 静态绑定原理_Java方法的静态绑定与动态绑定讲解
- P5643-[PKUWC2018]随机游走【min-max容斥,dp】
- linux教程:配置Tomcat开机启动
- 一文读懂云上DevOps能力体系
- win10关机后自动重启_安卓手机重启和关机后再开机,区别原来这么大!别不当回事...
- 13.python中web框架概念的引入。
- Euler 的面(Face,F)、顶(Vertex,V)、棱(Edge,E)公式
- POJ 2054 Color a Tree#贪心(难,好题)
- 算法-求两个有序数组两两相加的值最小的K个数
- java权限管理面试_java shiro面试题
- Adams入门详解与实例(第2版)pdf电子书
- 数据挖掘实例1:亲和性分析示例(代码、注释、运行结果)
- 解决IPOD NANO7无法开机
- Koo叔说Shader-- 熟悉渲染管线
- 装饰者模式 增加功能;动态代理减少功能 只要完成自己部分功能 (繁杂部分交给他人处理)...
- 玩吧!北京!招人!Java!