electron 弹出软键盘 / 执行c#代码
2024-01-08 14:42:21
1.弹出软键盘
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");
}
2.执行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");
}
});
});
文章来源:https://blog.csdn.net/qq_32698323/article/details/135453135
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!