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

简介: JavaScript 调用 C++/Qt 工程(附有代码 + demo)

 该文章主要讲述了如何在 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 文件,点击:是 —— 确认;

672b2322f26b483da9671669edaf2f76.png

9141b4aa5a5c4bbf96a81c36f2289ca4.png

说明:如果该过程中出现了:无法导入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 ;

2e7e27b9283c4393b3f2124926d7ef63.png

相关文章
|
19天前
|
JSON JavaScript 前端开发
JavaScript原生代码处理JSON的一些高频次方法合集
JavaScript原生代码处理JSON的一些高频次方法合集
|
25天前
|
开发框架 Linux C语言
C、C++、boost、Qt在嵌入式系统开发中的使用
C、C++、boost、Qt在嵌入式系统开发中的使用
31 1
|
1月前
|
自然语言处理 算法 前端开发
C++与Doxygen:精通代码文档化之道
C++与Doxygen:精通代码文档化之道
49 0
|
1月前
|
程序员 API 数据库
【Cmake工程 库相关教程 】深入理解CMake工程C/C++ 库管理技巧
【Cmake工程 库相关教程 】深入理解CMake工程C/C++ 库管理技巧
60 0
|
1月前
|
存储 网络协议 C语言
【C/C++ 串口编程 】深入探讨C/C++与Qt串口编程中的粘包现象及其解决策略
【C/C++ 串口编程 】深入探讨C/C++与Qt串口编程中的粘包现象及其解决策略
83 0
|
1月前
|
存储 传感器 安全
【串口通信】使用C++和Qt设计和实现串口协议解析器(二)
【串口通信】使用C++和Qt设计和实现串口协议解析器
53 0
|
1月前
|
存储 开发框架 算法
【串口通信】使用C++和Qt设计和实现串口协议解析器(一)
【串口通信】使用C++和Qt设计和实现串口协议解析器
107 0
|
25天前
|
人工智能 机器人 编译器
【C++】Windows端VS code中运行CMake工程(手把手教学)
【C++】Windows端VS code中运行CMake工程(手把手教学)
|
1月前
|
存储 测试技术 UED
Qt中实现界面回放的艺术:从理论到代码“ (“The Art of Implementing UI Playback in Qt: From Theory to Code
Qt中实现界面回放的艺术:从理论到代码“ (“The Art of Implementing UI Playback in Qt: From Theory to Code
66 1
|
1月前
|
Linux 编译器 程序员
【Linux 调试秘籍】深入探索 C++:运行时获取堆栈信息和源代码行数的终极指南
【Linux 调试秘籍】深入探索 C++:运行时获取堆栈信息和源代码行数的终极指南
68 0

推荐镜像

更多