2014-07-12 3 views
-1

누군가 파이썬 2.7에서 키를 눌러 코드를 실행할 수있는 방법을 알고 있습니까? 어쩌면 내가 보이지 않는 창을 만들어야한다고 생각하고 키 누름에서 함수 아래에있을 수있는 코드를 실행합니까? 아무도 그걸 어떻게 성취 할 수 있는지 아니?python에서 keypress로 코드를 실행하는 방법 2.7?

나는 스크린 샷을 찍는 데 노력하고 있지만이 프로그램은 프로그램을 실행할 때마다 대신 키 누르기를 원합니다.

import wx 
import random 
import getpass 
from time import gmtime, strftime 
Time = strftime("%Y-%m-%d %H:%M:%S", gmtime()) 
User = getpass.getuser() 
app= wx.App() 
screen = wx.ScreenDC() 
size = screen.GetSize() 
bmp = wx.EmptyBitmap(size[0], size[1]) 
mem = wx.MemoryDC(bmp) 
mem.Blit(0, 0, size[0], size[1], screen, 0, 0) 
del mem # Release bitmap 
Time = Time.replace(':','-') 
Name = Time + '.png' 
Name = Name.replace(' ', '%20') 
bmp.SaveFile(Name, wx.BITMAP_TYPE_PNG) 

어쨌든 내가 underkeypress를 활성화 할 수 있습니까?

+0

를 참조 wxPython을을 사용 보인다 - 그것은 시스템에 파이썬에서 일부 키로거에 대한 – furas

+0

봐 달려있다 - 그것은 누른 키를 grap하는 방법을 알고 있습니다. – furas

답변

0

당신은 키 입력 얻을 최소화 파이 게임 창을 사용할 수

import pygame, sys 
from pygame.locals import * 
pygame.init() 

windowSurface = pygame.display.set_mode((1, 1)) 

pygame.display.iconify() 

while True: 
    for event in pygame.event.get(): 
     if event.type == QUIT: 
      pygame.quit() 
      sys.exit() 
    if pygame.key.get_pressed()[pygame.K_UP]: 
     #DO something if the player hits the UP arrow key 
     print 'up!' 
+0

하지만 최소화 된 창에 초점이 맞지 않으면 어떻게해야합니까? – furas

+0

내가 말할 수있는 -이 방법은 리눅스에서 작동하지 않습니다 :/ – furas

+0

:) 이건 내 맥에서 작동하는 것 – ZenOfPython

0

중복 질문은 내 생각을, 대답은 여기에 있습니다 : Python read a single character from the user

아이디어는 getch를 구현하기 위해 운영 체제 라이브러리를 사용하는 것입니다 당신은 C로 작성 된 경우() 함수는 다음을 사용

0

참조 : 아마 Set global hotkey with Python 2.6

당신이 Windows를 사용하는 경우 pyHook을 사용할 수 있습니다.

또는 Linux를 사용하는 경우 pyKeylogger에서 사용되는 일부 방법.

를 사용하면 시스템에서이 키를 등록 또는 시스템에서 직접 키를 읽을해야합니다 그래서 모든 시스템의 핵심 availabe를 들어 RegisterHotKey in wxWindows

관련 문제