Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 禁用windows键盘输入_Node.js_Electron_Desktop Application_Node Webkit_Nwjs - Fatal编程技术网

Node.js 禁用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; } }); 有什么帮助吗?您可以尝试一下,但不幸的是,它将成为一个全局快捷方式,这意味着当窗口没

我正在制作一个电子桌面应用程序。我想在应用程序打开时禁用windows键和功能键

我尝试使用以下代码。。。它会注册事件,但windows菜单仍会打开

$(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;
});