Voglio impostare un tasto di scelta rapida globale in python 2.6 che ascolta la scorciatoia da tastiera Ctrl + D o Ctrl + alt + D sulle finestre, si prega di aiutarmiSet hotkey globale con Python 2.6
risposta
Il sito di Tim Golden python/win32 è una risorsa utile per la programmazione correlata a win32 in python. In particolare, questo esempio dovrebbe aiutare:
Il RegisterHotKey metodo della classe wx.Window
è quello che stai cercando - come dicono i documenti,
registri un hotkey di sistema. Ogni ora l'utente preme il tasto di scelta rapida registrato qui, questa finestra sarà ricevere un evento hotkey. Sarà ricevere l'evento anche se l'applicazione è in background e non ha il focus di input perché l'utente sta lavorando con un'altra applicazione . Per associare una funzione di gestore di eventi a questo tasto di scelta rapida, utilizzare EVT_HOTKEY con un ID uguale a hotkeyId. Restituisce Vero se il tasto di scelta rapida è stato registrato con successo .
Quindi, fare un'istanza di `wx.Window, registrare il tasto di scelta rapida che si desidera con questo metodo, e, eventualmente, fare una PushEventHandler se ypu'd piuttosto gestire l'evento (s) in un gestore di eventi separati, piuttosto che in la finestra stessa (quest'ultima è l'impostazione predefinita).
C'è qualcos'altro in questa procedura che non ti è del tutto chiaro ...? In tal caso, modifica la tua domanda per aggiungere ulteriori problemi che potresti avere!
Dal momento che RegisterHotKey accetta chiavi da win32con, la soluzione non funzionerà per lui perché ha bisogno VK_
Se vuoi i tasti di scelta rapida nel tuo programma wxPython (che presumo tu faccia a causa del tag wxPython), allora dovresti usare un wx.AcceleratorTable.
Questo argomento è anche coperto [qui] [1], tuttavia utilizzando Python 3. [1]: http: // StackOverflow. it/questions/16615087/python-how-to-create-a-global-hotkey-on-windows-con-3-argomenti/24654577 # 24654577 – Maxxim