javascript - 如何使用电子中的按钮打开 exe 文件
问题描述
我试图让一个按钮在计算机中打开一个 exe 文件,但它没有打开,它给了我这个错误
未捕获的 ReferenceError:在 HTMLButtonElement.onclick 的 runExe (main.js:61) 中未定义要求
这是我的按钮的代码
<button onclick="runExe()" id="button">click</button>
我从互联网上得到了这段代码,当我删除函数 runExe() 时,exe 文件在我启动应用程序时打开,我希望它只在单击按钮时打开。
这是打开exe文件的代码
function runExe(){
var child = require('child_process').execFile;
var executablePath = "winRAR.exe";
child(executablePath, function(err, data) {
if(err){
console.error(err);
return;
}
console.log(data.toString());
});}
解决方案
错误消息说您不能使用require
.
您正在尝试在渲染器进程中运行该代码。如果 main 和 renderer 之间的区别是新的,请参阅https://www.electronjs.org/docs/tutorial/application-architecture#main-and-renderer-processes
做你想做的事情的一种方法是让渲染的进程将打开请求发送到主进程,其中 require 将起作用,并且打开子进程应该起作用。
顺便说一句,我不知道shell.openItem()
(https://www.electronjs.org/docs/api/shell)是否可以用来启动任何 exe?如果是这样,那可能是更好的方法。
推荐阅读
- sql-server - SQLServer 2005 没有做正确的事
- python - 有没有办法在 scipy.optimize.curve_fit 的参数之间添加依赖关系
- javascript - 我可以制作一个设置为页面宽度的变量吗?
- apache-spark - YARN ResourceManager 的 Total Memory 是如何计算的?
- spring - 2 从不同实体到新表的外键 Hibernate
- php - 尝试在 Laravel 中输出 Eloquent 关系时出错
- excel - 在excel中对两个数字应用权重
- python - 列表是“连接的”,无需我要求
- c++ - boost filesystem create_directories 函数在访问映射的网络驱动器时随机失败
- sql - 改变 AND 语句条件的“where”部分中的案例