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

相关文章
|
2月前
|
C++ Windows
应用程序无法正常启动(0xc0000005)?C++报错0xC0000005如何解决?使命召唤17频频出现闪退,错误代码0xC0000005(0x0)
简介: 本文介绍了Windows应用程序出现错误代码0xc0000005的解决方法,该错误多由C++运行库配置不一致或内存访问越界引起。提供包括统一运行库配置、调试排查及安装Visual C++运行库等解决方案,并附有修复工具下载链接。
1091 1
|
9月前
|
存储 安全 C语言
C++ String揭秘:写高效代码的关键
在C++编程中,字符串操作是不可避免的一部分。从简单的字符串拼接到复杂的文本处理,C++的string类为开发者提供了一种更高效、灵活且安全的方式来管理和操作字符串。本文将从基础操作入手,逐步揭开C++ string类的奥秘,帮助你深入理解其内部机制,并学会如何在实际开发中充分发挥其性能和优势。
|
6月前
|
监控 算法 数据处理
基于 C++ 的 KD 树算法在监控局域网屏幕中的理论剖析与工程实践研究
本文探讨了KD树在局域网屏幕监控中的应用,通过C++实现其构建与查询功能,显著提升多维数据处理效率。KD树作为一种二叉空间划分结构,适用于屏幕图像特征匹配、异常画面检测及数据压缩传输优化等场景。相比传统方法,基于KD树的方案检索效率提升2-3个数量级,但高维数据退化和动态更新等问题仍需进一步研究。未来可通过融合其他数据结构、引入深度学习及开发增量式更新算法等方式优化性能。
179 17
|
4月前
|
API 数据安全/隐私保护 C++
永久修改机器码工具, exe一机一码破解工具,软件机器码一键修改工具【c++代码】
程序实现了完整的机器码修改功能,包含进程查找、内存扫描、模式匹配和修改操作。代码使用
|
5月前
|
C++
爱心代码 C++
这段C++代码使用EasyX图形库生成动态爱心图案。程序通过数学公式绘制爱心形状,并以帧动画形式呈现渐变效果。运行时需安装EasyX库,教程链接:http://【EasyX图形库的安装和使用】https://www.bilibili.com/video/BV1Xv4y1p7z1。代码中定义了屏幕尺寸、颜色数组等参数,利用随机数与数学函数生成动态点位,模拟爱心扩散与收缩动画,最终实现流畅的视觉效果。
830 0
|
7月前
|
SQL 数据库连接 数据库
在C++的QT框架中实现SQLite数据库的连接与操作
以上就是在C++的QT框架中实现SQLite数据库的连接与操作的基本步骤。这些步骤包括创建数据库连接、执行SQL命令、处理查询结果和关闭数据库连接。在实际使用中,你可能需要根据具体的需求来修改这些代码。
447 14
|
算法 安全 C++
提高C/C++代码的可读性
提高C/C++代码的可读性
261 4
WK
|
开发框架 开发工具 C++
C++跨平台框架Qt
Qt是一个功能强大的C++跨平台应用程序开发框架,支持Windows、macOS、Linux、Android和iOS等操作系统。它提供了250多个C++类,涵盖GUI设计、数据库操作、网络编程等功能。Qt的核心特点是跨平台性、丰富的类库、信号与槽机制,以及良好的文档和社区支持。Qt Creator是其官方IDE,提供了一整套开发工具,方便创建、编译、调试和运行应用程序。Qt适用于桌面、嵌入式和移动应用开发。
WK
469 5
|
9月前
|
编译器 C++ 开发者
【C++篇】深度解析类与对象(下)
在上一篇博客中,我们学习了C++的基础类与对象概念,包括类的定义、对象的使用和构造函数的作用。在这一篇,我们将深入探讨C++类的一些重要特性,如构造函数的高级用法、类型转换、static成员、友元、内部类、匿名对象,以及对象拷贝优化等。这些内容可以帮助你更好地理解和应用面向对象编程的核心理念,提升代码的健壮性、灵活性和可维护性。
|
5月前
|
人工智能 机器人 编译器
c++模板初阶----函数模板与类模板
class 类模板名private://类内成员声明class Apublic:A(T val):a(val){}private:T a;return 0;运行结果:注意:类模板中的成员函数若是放在类外定义时,需要加模板参数列表。return 0;
154 0