electron 调起程序 / 弹出 软键盘 屏幕键盘 / 执行c#代码
electron屏幕键盘软键盘执行c#代码。
·
windows 中 osk.exe为屏幕软件,以下任意方式都可以执行。
Node方式 调起任意程序
execFile 是 Node.js 中的 child_process 模块的一部分,在 Node.js 环境中执行外部命令或可执行文件
const { execFile } = require('child_process');
const path = require('path');
const demoPath = path.join(__dirname, "../../resources/server/demo-01.exe");
// 启动 demo.exe
const args = ['-e', '-g','-s' ,'-xyz'];
demoProcess= execFile(demoPath,args ,(error, stdout, stderr) => {
if (error) {
console.error(`启动 demo.exe 失败: ${error}`);
return;
}
console.log(`demo.exe 输出: ${stdout}`);
});
// 监听 demo.exe 进程的 exit 事件,在进程退出后执行其他操作
demoProcess.on('exit', (code) => {
// 进程退出后的回调函数
console.log(`demo.exe 进程退出,退出码: ${code}`);
// 执行其他操作...
});
Election shell ipcMain,弹出软键盘 、执行程序
Electron Main Process 模块介绍—ipcMain,shell
Electron的主进程mian.js代码中 添加ipc通道消息:
ipcMain.on('open-osk', async (event) => {
await shell.openPath('osk');
//异步返回消息
event.reply("osk-start",[true])
});
js发消息调用:
window.electron?.ipcRenderer.on("osk-start",async (_,args)=>{
console.log("执行结果"+args[0]);
})
function openosk(){
window.electron?.ipcRenderer.send("osk");
}
执行C#代码
安装electron-edge-js库:
npm install electron-edge-js
const edge = require('electron-edge-js');
// 自定义C#函数、执行cmd 命令-如打开软键盘
const openWindowsKeyboard = edge.func(`
async (input) => {
// 引入System.Diagnostics命名空间
var process = new System.Diagnostics.Process();
// 设置要执行的命令和参数
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.Arguments = "/C osk"; // osk为打开软键盘的命令
// 启动进程
process.Start();
// 等待进程退出并返回结果
process.WaitForExit();
return null;
}
`);
//同样使用 Electron ipcMain 消息通道来调用方法:
ipcMain.on('open-osk', async (event) => {
openWindowsKeyboard(null, (error, result) => {
console.log(error,result);
if (error) {
console.error(error);
event.reply("osk-start",[false])
} else {
event.reply("osk-start",[true])
console.log("osk is open");
}
});
});
更多推荐
所有评论(0)