2017-06-01 87 views
1

我在製作電子桌面應用程序。我想禁用Windows鍵和功能鍵,而應用程序是在在Electron中禁用Windows密鑰

我用下面的代碼嘗試......它註冊的事件,但在Windows開始菜單反正

$(document).keydown(function(e){ 

    if (e.keyCode == 37) { 
     alert("windows key pressed"); 
     return false; 
    } 
}); 

打開任何幫助嗎?

+0

簡單地說,你不能。 [更多信息](https://github.com/electron/electron/issues/1395) –

+0

這是2015年以來的問題。查看https://github.com/electron/electron/blob/master/docs/api/global -shortcut.md他們添加了Windows的'超級'加速器 – VladNeacsu

回答

0

你可以試試這個,但不幸的是它會成爲一個全局快捷方式,這意味着當窗口沒有焦點時它仍然會被註冊。嘗試放置一個console.log()以查看它何時觸發。 win是你的電子窗口變量

const {app, globalShortcut} = require('electron'); 

win = new BrowserWindow(); 

globalShortcut.register('Super',() => { 
    if (win.isFocused()) { 
    // do something 
    } 
}); 

你可以在這裏查看文檔:docs

或者嘗試在這裏使用的模塊:electron-localshortcut

electronLocalshortcut.register(win, 'Super',() => { 
    console.log('Windows Button pressed'); 
    return false; 
}); 
+0

我把代碼放在我的main.js中......這個工程...但是當我使用'超級'代替'CTrl + A'時,應用程序中斷。 ('您按ctrl & A'); }); –

+0

什麼是錯誤? – VladNeacsu

相關問題