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

相关文章
|
9天前
|
消息中间件 Linux C++
c++ linux通过实现独立进程之间的通信和传递字符串 demo
的进程间通信机制,适用于父子进程之间的数据传输。希望本文能帮助您更好地理解和应用Linux管道,提升开发效率。 在实际开发中,除了管道,还可以根据具体需求选择消息队列、共享内存、套接字等其他进程间通信方
40 16
|
1天前
|
存储 安全 C语言
C++ String揭秘:写高效代码的关键
在C++编程中,字符串操作是不可避免的一部分。从简单的字符串拼接到复杂的文本处理,C++的string类为开发者提供了一种更高效、灵活且安全的方式来管理和操作字符串。本文将从基础操作入手,逐步揭开C++ string类的奥秘,帮助你深入理解其内部机制,并学会如何在实际开发中充分发挥其性能和优势。
|
3月前
|
算法 安全 C++
提高C/C++代码的可读性
提高C/C++代码的可读性
91 4
WK
|
3月前
|
开发框架 开发工具 C++
C++跨平台框架Qt
Qt是一个功能强大的C++跨平台应用程序开发框架,支持Windows、macOS、Linux、Android和iOS等操作系统。它提供了250多个C++类,涵盖GUI设计、数据库操作、网络编程等功能。Qt的核心特点是跨平台性、丰富的类库、信号与槽机制,以及良好的文档和社区支持。Qt Creator是其官方IDE,提供了一整套开发工具,方便创建、编译、调试和运行应用程序。Qt适用于桌面、嵌入式和移动应用开发。
WK
108 5
|
4月前
|
Linux C语言 C++
vsCode远程执行c和c++代码并操控linux服务器完整教程
这篇文章提供了一个完整的教程,介绍如何在Visual Studio Code中配置和使用插件来远程执行C和C++代码,并操控Linux服务器,包括安装VSCode、安装插件、配置插件、配置编译工具、升级glibc和编写代码进行调试的步骤。
634 0
vsCode远程执行c和c++代码并操控linux服务器完整教程
|
5月前
|
C++
2合1,整合C++类(Class)代码转换为MASM32代码的平台
2合1,整合C++类(Class)代码转换为MASM32代码的平台
|
5月前
|
C++
继续更新完善:C++ 结构体代码转MASM32代码
继续更新完善:C++ 结构体代码转MASM32代码
|
5月前
|
C++ Windows
HTML+JavaScript构建C++类代码一键转换MASM32代码平台
HTML+JavaScript构建C++类代码一键转换MASM32代码平台
|
5月前
|
C++
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
|
5月前
|
前端开发 C++ Windows
C++生成QML代码与QML里面集成QWidget
这篇文章介绍了如何在C++中生成QML代码,以及如何在QML中集成QWidget,包括使用Qt Widgets嵌入到QML界面中的技术示例。
112 0

热门文章

最新文章

  • 1
    当面试官再问我JS闭包时,我能答出来的都在这里了。
    49
  • 2
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    29
  • 3
    Node.js 中实现多任务下载的并发控制策略
    34
  • 4
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    26
  • 5
    【JavaScript】深入理解 let、var 和 const
    49
  • 6
    【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
    47
  • 7
    【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
    57
  • 8
    【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
    57
  • 9
    如何通过pm2以cluster模式多进程部署next.js(包括docker下的部署)
    72
  • 10
    【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
    57