2010-07-26 9 views
11

I 싶어 설정 단축키 Ctrl 키를 + D 또는 Ctrl 키를 + 고도 + D 창에 수신 파이썬 2.6의 글로벌 단축키를 글로벌 단축키를 설정, 나에게는 파이썬 2.6

도와주세요
+0

[1] :

단축키 등록으로 간단에 http : // 유래. com/questions/16615087/python-how-to-create-a-global-hotkey-on-windows-with-3-arguments/24654577 # 24654577 – Maxxim

답변

3

wx.Window 클래스의 RegisterHotKey 방법은 당신이 찾고있는 무엇을 - 워드 프로세서 말하는대로,

를 등록을 시스템 전체 단축키. 모든 사용자가 여기에 등록 된 단축키 을 누를 때마다,이 창은 단축키 이벤트를 수신합니다. 응용 프로그램이 백그라운드에 있고 에 입력 포커스가 없더라도 이벤트를 수신합니다. 사용자가 다른 응용 프로그램을 사용하고 있기 때문입니다. 이 핫키에 이벤트 핸들러 을 바인딩하려면 EVT_HOTKEY 을 id를 hotkeyId로 사용하십시오. 핫키가 에 성공적으로 등록 된 경우 True를 반환합니다.

그래서, wx.Window '의 인스턴스를 만들 당신이이 방법으로 원하는 단축키를 등록하고 오히려보다 오히려 별도의 이벤트 처리기에서 이벤트 (들)을 처리 ypu'd 경우 아마도 PushEventHandler을 윈도우 자체 (디폴트 인 후자).

이 절차에 나와 있지 않은 사항이 있습니까? 그렇다면 문제를 추가하여 문제가 있으면 추가하십시오.

+0

RegisterHotKey는 win32con의 키를 받아들이므로 솔루션이 필요로 할 때 그를 위해 작동하지 않습니다. win32con에없는 VK_ ! – Romeno

0

wxPython 태그 때문에 단축키를 원한다면 wx.AcceleratorTable을 사용해야합니다.

6

나는 pyhk을 제안합니다. 그것은 파이썬에서 글로벌 와이드 단축키 등록을 허용하고 예제와 문서가 함께 제공됩니다. Pyhk은 pyhook에 있습니다. 이 주제는 [1] 그러나 파이썬 3 사용 [여기] 덮여

pyhk.addHotkey(SomeHotkey,SomeFunction) 
+0

이 솔루션은 Windows에서만 작동합니다. 그렇습니까? – Romeno

+0

예, 창은 pyhook을 기반으로하기 때문에. – schurpf