JS中调用本地Winform程序并传递参数
场景
JS中调用本地exe程序:
JS中调用本地exe程序_BADAO_LIUMANG_QIZHI的博客-CSDN博客
在上面的基础上怎样在js中调用本地winform程序并且传递参数。
注:
博客:
BADAO_LIUMANG_QIZHI的博客_霸道流氓气质_CSDN博客-C#,架构之路,SpringBoot领域博主
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
1、新建或者修改上面的myprotocol.reg注册表文件,在shell\open\command下的
exe路径中添加参数占位符%1
[HKEY_CLASSES_ROOT\myprotocol\shell\open\command]
@="\"D:\\test\\UrlProcotolDemo.exe\"%1"
完整.reg文件
Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\myprotocol]
@="myprotocol Protocol"
"URL Protocol"=""[HKEY_CLASSES_ROOT\myprotocol\DefaultIcon]
@="D:\\test\\UrlProcotolDemo.exe"[HKEY_CLASSES_ROOT\myprotocol\shell]
@=""[HKEY_CLASSES_ROOT\myprotocol\shell\open]
@=""[HKEY_CLASSES_ROOT\myprotocol\shell\open\command]
@="\"D:\\test\\UrlProcotolDemo.exe\"%1"
然后双击运行该reg文件,重新注册注册表。
2、新建winform程序,页面添加一个label
主窗体中添加Public变量,用来接收传递的参数,并在窗体load方法中将变量赋值给label
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace UrlProcotolDemo
{public partial class Form1 : Form{public String canshu = String.Empty;public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){label1.Text = canshu;}}
}
修改Program.cs,Main方法中添加参数,并判断参数不为空时解析参数
static void Main(string[] args){String canshu = "参数为空";if (args.Length>0) {canshu = Regex.Match(args[0],@"(?<=://).+?(?=:|/|\Z)").Value; ;}Console.WriteLine("canshu----"+canshu);Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Form1 form1 = new Form1();form1.Text = canshu;form1.canshu = canshu;Application.Run(form1);}
3、编译生成winfrom的exe项目,将其放在上面注册表文件对应的路径下
4、新建或者修改html文件
<!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="myprotocol://badao">执行可执行文件</a>
</div>
</body>
</html>
在调用时传递参数badao
JS中调用本地Winform程序并传递参数相关推荐
- CDR插件开发之CPG插件018 - 在CPG插件中调用外部EXE程序并传递参数
在上篇文章中,讲解了CPG插件在VS2019中实现调试的具体方法.本文以具体代码为例,讲解在CPG插件中调用外部EXE程序,并传递运行参数的方法. 工程搭建准备 按照惯例,本篇文章的序号为018,请直 ...
- JS中调用本地exe程序
场景 在网页中通过js调用Windows上本地的exe程序, 比如在浏览器中点击调用某播放器的exe程序. url protocol 的方式来实现.用这种方式实现,任何浏览器都兼容, 不会存在只有IE ...
- 【方法】HTML网页调用本地Python程序
欢迎支持个人chatgpt:https://chat.immuseai.com/register?promotion-code=pRE9p9DXCOBz3Z1s.注册即可使用GPT3.5和4.0. 代 ...
- 在网页中调用本地的应用程序
在网页中调用本地的应用程序 例子: <script> function exec (command) { window.oldOnError = window.onerror; ...
- 浏览器调用本地应用程序
第一次遇到这个问题是比较蒙的,后来查找资料后逐渐有了思路: IE 浏览器可以使用 ActiveX控件,但会有风险(我并未去验证). 使用URL ,通过将URL协议添加到注册表的方法(我打算采用这种方法 ...
- Web页面调用本地客户端程序并传参
好久没跟新博客了,今天跟新2019年的第一篇博客,最近在做项目,需求就是Web页面调用本地客户端程序并传参,传参是为了避免客户端再次输入账号密码,直接跳过登录. 翻了不少资料,总的来说好像都要操作注册 ...
- 网页Web上调用本地应用程序(.exe)
一.web调用本地应用程序的思路 这个方法主要思路是利用自定义URL Protocol来调用应用程序.浏览器在解析到自定义URL Protocol之后,会寻找注册表,然后通过注册表启动相应的程序 ...
- AppEmit v0.9.5 新功能 浏览器调用本地应用程序 支持打开 编辑 金山 wps office, excel ppt
AppEmit v0.9.5 新功能 浏览器调用本地应用程序 支持打开 编辑 金山 office 更多主页 下载地址 能在以及几乎所有支持websock浏览器,包括chro ...
- SpringMVC中通过@ResponseBody返回对象,Js中调用@ResponseBody返回值,统计剩余评论字数的js,@RequestParam默认值,@PathVariable的用法
1.SpringMVC中通过@ResponseBody返回对象,作为JQuery中的ajax返回值 package com.kuman.cartoon.controller; import java. ...
最新文章
- 可持久化普通线段树 ---- P2839 [国家集训队]middle 可持久化普通线段树 + 二分 求中位数最大值
- 双十一:透支消费?累积消费?促进消费?
- linux c不占用cpu的延时,linux下写个C语言程序,要求有0.5微秒以下的延时,要怎样写...
- 带你进入高级测试实验室,
- python好多模块和c相识_Python-Cext名称空间与常规Python子模块混合?
- [Linux实用工具]Ubuntu环境下SSH的安装及使用
- 离散事件模拟在游戏中的应用
- sql操作mysql数据库_一些常用的操作MySQL数据库的sql语句
- [bzoj 4774]修路
- 图书管理系统(课程设计)
- xshell 配置公钥 免密码登陆
- HTML+css网站设计布局模板
- spark快速入门java_Spark 快速入门
- vue实现点击复制文本功能
- 计算机如何重新连接打印机,电脑重装系统后怎么连接打印机
- 所谓领导力,指的是这21种能力
- crm day03 创建市场活动
- rabbitMq系列2:AMPQ协议与RabbitMQ执行过程
- 十年架构师留下最完整的Java学习路线
- 关于解决Carsim2016找不Liscens问题的原生BIA法
热门文章
- Future和CompletableFuture的区别和对比,以及Future主要的四个缺点——不能回调会阻塞、批量任务处理彼此依赖会阻塞、不能多个任务级联执行、得不到最先完成的任务
- MySQL使用GROUP_CONCAT分组拼接
- c语言4x4矩形转置,最快的转置4x4字节矩阵的方法。
- tomcat server.xml文件的配置解析
- 又到了上云时刻啦!!!阿里云 Docker部署SpringBoot项目 方便测试的部署方式
- php 数组导出csv_php导出CSV抽象类实例
- mysql数据回滚占用id吗_mysqlbing 回滚数据问题
- python填充空值_Python机器学习(九十一)Pandas 填充(Imputation)空值
- QT判断操作系统版本
- yum php devel_yum源里找不到 php54w-devel,求可用yum源