electron客户端child_process的exec启动everything.exe 如何不弹出用户允许的弹窗直接运行
时间: 2024-02-16 19:03:18 浏览: 21
如果你想在electron客户端的child_process中使用exec启动everything.exe,并且不想弹出用户允许的弹窗,可以使用以下方法:
1. 在Windows操作系统中,可以使用PowerShell中的Start-Process命令来启动everything.exe
```
const { exec } = require('child_process');
exec('powershell.exe Start-Process -FilePath "C:\\Program Files\\Everything\\Everything.exe" -WindowStyle Hidden');
```
这将在后台启动everything.exe,并且不会弹出用户允许的弹窗。
2. 如果你想使用node.js内置的child_process模块启动everything.exe,可以使用以下方法:
```
const { exec } = require('child_process');
exec('start /B "" "C:\\Program Files\\Everything\\Everything.exe"');
```
这将使用Windows的start命令在后台启动everything.exe,并且不会弹出用户允许的弹窗。
注意:在使用这些方法之前,请确保已经安装了everything.exe,并且路径是正确的。
相关问题
Electron通过child_process启动 Everything 如何不让 Everything在任务栏中显示
可以在启动 Everything 进程时,添加一个参数 "--invisible",这样 Everything 就不会在任务栏中显示了。
具体实现可以参考以下代码:
```javascript
const { spawn } = require('child_process');
const everythingProcess = spawn('path/to/Everything.exe', ['--invisible']);
everythingProcess.stdout.on('data', (data) => {
console.log(`Everything stdout: ${data}`);
});
everythingProcess.stderr.on('data', (data) => {
console.error(`Everything stderr: ${data}`);
});
everythingProcess.on('close', (code) => {
console.log(`Everything process exited with code ${code}`);
});
```
这里使用了 Node.js 的 `spawn` 函数来启动 Everything 进程,并在启动时添加了 `--invisible` 参数。同时,还监听了 Everything 进程的标准输出和标准错误输出,以及进程退出事件。
注意,`--invisible` 参数是 Everything 自带的参数,具体使用方法可以参考 Everything 的官方文档或者帮助文档。
Electron通过child_process启动Everything 如何监听Everything是否启动成功 端口是多少等等
可以使用child_process模块的spawn函数来启动Everything,并使用stdout和stderr事件来监听Everything的输出信息。具体代码如下:
```javascript
const { spawn } = require('child_process');
// 启动Everything
const everything = spawn('C:\\Program Files\\Everything\\Everything.exe');
// 监听Everything的输出信息
everything.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
// 在输出信息中查找Everything启动完成的特定字符串
if (data.includes('Everything is running')) {
console.log('Everything启动成功!');
// 获取Everything的监听端口
const port = data.match(/Port: (\d+)/)[1];
console.log(`Everything监听端口:${port}`);
}
});
everything.stderr.on('data', (data) => {
console.error(`stderr: ${data}`);
});
everything.on('close', (code) => {
console.log(`Everything进程退出,退出码 ${code}`);
});
```
在Everything启动完成后,输出信息中会包含字符串`Everything is running`,可以通过查找该字符串来判断Everything是否启动成功。同时也可以从输出信息中获取Everything的监听端口。