Node.js 禁用windows键盘输入
我正在制作一个电子桌面应用程序。我想在应用程序打开时禁用windows键和功能键 我尝试使用以下代码。。。它会注册事件,但windows菜单仍会打开Node.js 禁用windows键盘输入,node.js,electron,desktop-application,node-webkit,nwjs,Node.js,Electron,Desktop Application,Node Webkit,Nwjs,我正在制作一个电子桌面应用程序。我想在应用程序打开时禁用windows键和功能键 我尝试使用以下代码。。。它会注册事件,但windows菜单仍会打开 $(document).keydown(function(e){ if (e.keyCode == 37) { alert( "windows key pressed" ); return false; } }); 有什么帮助吗?您可以尝试一下,但不幸的是,它将成为一个全局快捷方式,这意味着当窗口没
$(document).keydown(function(e){
if (e.keyCode == 37) {
alert( "windows key pressed" );
return false;
}
});
有什么帮助吗?您可以尝试一下,但不幸的是,它将成为一个全局快捷方式,这意味着当窗口没有焦点时,它仍将被注册。尝试放置
console.log()
以查看它何时触发win
是您的电子窗口变量
const {app, globalShortcut} = require('electron');
win = new BrowserWindow();
globalShortcut.register('Super', () => {
if (win.isFocused()) {
// do something
}
});
您可以在此处查看文档:
或者尝试在此处使用此模块:
简单地说,你不能。这是2015年的问题。检查他们添加了“超级”WindowsAccelerator我把代码放在我的main.js。。。这很有效。。。但当我使用“超级”而不是“CTrl+A”时,应用程序会中断。。。electronLocalshortcut.register(主窗口,'Ctrl+A',()=>{console.log('您按下了Ctrl&A');});错误是什么?@VladNeacsu我知道这很旧,但我相信绑定函数不能注册像
Super
,Ctrl
等单数表达式(必须是Super+Something
,Ctrl+a
,而不仅仅是Ctrl
或Super
)。你还有其他的想法吗?看看github的问题:基本上windows已经使用的快捷方式(Super,Super+V)不能使用。globalShortcut.register-function还将返回一个布尔值,指示它是否成功。无论如何,要实现这一点,请使用本期中所述的其他库。
electronLocalshortcut.register(win, 'Super', () => {
console.log('Windows Button pressed');
return false;
});