该文章主要讲述了如何在 Js 网页调用 .exe ;实际上如果实现了 Js 调用 .exe 也就是实现了 Js 调用 C++/Qt 工程,只是在调用前把 C++/Qt 工程封装成 .exe(或者封装成安装软件)即可;

把 C++/Qt 工程封装成安装软件见:C++ 程序生成安装软件 .exe (非常实用)_一米九零小胖子的博客-CSDN博客

一、Js 调用 .exe 流程

1、创建 .reg 文件

.reg 文件的标准创建流程见:无法导入.reg:指定的文件不是注册脚本。你在注册表编辑器中只能导...解决办法(非常实用)_一米九零小胖子的博客-CSDN博客

.reg 文件编辑内容如下:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\ZZO]
@="URL:ZZO Protocol Handler"
"URL Protocol"=""[HKEY_CLASSES_ROOT\ZZO\DefaultIcon]
@="E:\\WeChat\\WeChat.exe"[HKEY_CLASSES_ROOT\ZZO\shell][HKEY_CLASSES_ROOT\ZZO\shell\open][HKEY_CLASSES_ROOT\ZZO\shell\open\command]
@="E:\\WeChat\\WeChat.exe"

说明1:上述代码中第 7、14 行是被调用的 .exe 文件的绝对路径;

说明2:上诉代码中第 1、3、6、9、11、13 行中 ZZO 是自定义的名字,为了避免错误一般都是英文;

2、导入注册表(.reg文件)

双击创建的 .reg 文件,点击:是 —— 确认;

 说明:如果该过程中出现了:无法导入F:\桌面\wechat.reg:指定的文件不是注册脚本。你在注册表编辑器中只能导入二进位注册文件.reg!问题,解决办法请参考:无法导入.reg:指定的文件不是注册脚本。你在注册表编辑器中只能导...解决办法(非常实用)_一米九零小胖子的博客-CSDN博客

3、创建 html 文件

html文件编辑内容如下:

<!DOCTYPE html><html lang="en">
<head><meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>打开微信</title><style>a {font-size: 30px;text-decoration: none;}</style>
</head>
<body><a href="ZZO://">打开微信</a><hr/></body>
</html>

说明:上述代码中第 14 行中的 ZZO 就是注册表(.ref文件)中的自定义名字,需要保持一直,为避免出错大小写尽量保持一致(虽然此处不区分大小写); 

二、Js 调用 .exe 测试结果

点击 html —— 打开微信,出现以下结果,Js 成功调用 .exe ;

JavaScript 调用 C++/Qt 工程(附有代码 + demo)相关推荐

  1. JavaScript调用C语言的几种方式

    JavaScript是脚本语言不能直接调用C语言接口,但是可以通过下面几种方式: 使用C语言编写的WebAssembly模块,WebAssembly是一种可在网页中运行的二进制代码格式,可以使用Jav ...

  2. linux下QT工程调用opencv、libtorch,并用cmake编译,及其遇到的一些问题的解决方法

    linux下QT工程调用opencv.libtorch,并用cmake编译: 文章目录 一.新建QT工程 二.编写CMakeLists.txt文件 三.各个文件的内容如下: 1.mainwindow. ...

  3. CEF:JavaScript 调用 C++ 函数 Demo(VS2013)

    上一篇 CEF:C++ 调用 JavaScript 函数 Demo(VS2013)讲了外部 C++ 代码如何调用网页内 JavaScript 函数的问题,这一篇换个方向,说一说网页内 JavaScri ...

  4. 一步一步学Silverlight 2系列(22):在Silverlight中如何用JavaScript调用.NET代码_转载...

    概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...

  5. 一步一步学Silverlight 2系列(22):在Silverlight中如何用JavaScript调用.NET代码

    概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...

  6. 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.3 新建Qt工程

    本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1UA4y1d7V2 学习任何的编程语言,创建的第一工程都是打印 hello world,学习 Q ...

  7. python eel 多线程_利用Eel使JavaScript调用Python程序

    利用Eel使JavaScript调用Python程序 Eel简介 Eel是一个轻量的python桌面GUI开发第三方库, 它使用HTML/JS作为界面开发语言, 但是能够访问所有的python功能, ...

  8. Qt工程文件(二)--pro文件详解

    PRO文件基本配置选项 QT:指定工程所要使用的Qt模块 VERSION:指定目标库版本号 TARGET:指定编译后生成的目标文件名称 TEMPLATE:指定编译的工程类型 A> app -建立 ...

  9. JavaScript调用原生API获取手机型号

    跨平台技术简介 针对原生开发面临问题,人们一直都在努力寻找好的解决方案,而时至今日,已经有很多跨平台框架,根据其原理,主要分为三类: H5+原生(Cordova.Ionic.微信小程序) JavaSc ...

最新文章

  1. PingCode与Jira 敏捷开发管理能力的对比
  2. 开源 java CMS - FreeCMS2.3 会员组管理
  3. 5G 行业专网 — 三大运营商的 5G 专网类型
  4. JS表格分页(封装版)
  5. 日语学习-多邻国-平假名
  6. 基于类和对象的高精度算法封装
  7. 我本人一直以来犯的错误,在看了 Think In Java 后才抓了出来
  8. 算法-两个排序数组的中位数
  9. 2020年智能物联网设备数量将达204亿,是智能为王还是服务为王?
  10. FPGA构建人工神经网络系统应用实例——视障人士便携导航系统
  11. Hulu俱乐部分享之兴趣篇
  12. 青藤 #10064 奇怪的电梯
  13. MATLAB彩色图片的处理
  14. 点亮LED-STM32电控学习笔记03
  15. SOLIDWORKS零件与装配体模板制作
  16. 批量将多张图片的宽度和高度同时缩小一半,也可以按固定比例缩小
  17. 北京骑行者,改动的不只是通勤方式
  18. Day5 Numerical simulation of optical wave propagation之通过随机介质(如大气湍流)的传播(一)...
  19. java 中对象的称呼
  20. for循环倒序java_for循环

热门文章

  1. 中国宋庆龄基金会全国小学生数学之光发布会在京盛大开幕
  2. 盘点美容美发业积分商城系统需求
  3. (毒刺)利用Pystinger Socks4上线不出网主机
  4. C++primeplusp(p356-386)
  5. 怎么区分有限合伙人和普通合伙人
  6. html5 多选框控件,复选框和单选框都属于控件吗
  7. java nfa dfa_NFA转换为DFA
  8. 文件拷贝(复制粘贴)
  9. oracle的hints类型,oracle中的sql语句优化附件_HINTS
  10. mysql 钩子程序_20200319 代码发布之任务发布钩子脚本