2017-06-01 8 views
1

Je fais une application de bureau électronique. Je veux désactiver les touches de touche Windows et la fonction lorsque l'application est surDésactiver la touche Windows dans Electron

J'ai essayé en utilisant le code suivant ... il enregistre l'événement, mais le menu Windows ouvre de toute façon

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

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

Toute aide?

+0

Pour le dire simplement, vous ne pouvez pas. [Plus d'informations] (https://github.com/electron/electron/issues/1395) –

+0

C'est un numéro de 2015. Vérifiez https://github.com/electron/electron/blob/master/docs/api/global -shortcut.md Ils ont ajouté le 'Super' Accelerator pour Windows – VladNeacsu

Répondre

0

Vous pouvez essayer cela, mais, malheureusement, il deviendra un raccourci global, ce qui signifie que lorsque la fenêtre n'a pas de focus, elle sera toujours enregistrée. Essayez de mettre un console.log() pour voir quand il se déclenche. win est votre variable de fenêtre électronique

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

win = new BrowserWindow(); 

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

Vous pouvez consulter les documents ici: docs

Ou essayez d'utiliser ce module ici: electron-localshortcut

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

J'ai mis le code dans mon main.js ... cela fonctionne ... mais quand j'utilise 'Super' au lieu de 'CTrl + A' l'application casse .. electronLocalshortcut.register (mainWindow, 'Ctrl + A',() => { console.log ('Vous avez appuyé sur ctrl & A'); }); –

+0

Quelle est l'erreur? – VladNeacsu