2012-09-12 55 views
0

到目前为止,我有以下代码告诉我每次创建新进程。在Python中获取Windows进程/文件描述

import wmi 
c = wmi.WMI() 
process_watcher = c.Win32_Process.watch_for("creation") 
while True: 
    new_process = process_watcher() 
    print(new_process.Caption) 
    print(new_process.ExecutablePath) 

这工作得很好,但我真正想要做的是在过程描述得,因为虽然什么我正在寻找可能更改文件名,则说明没有。我找不到Win32_Process或win32file中的任何内容,但它能让我获得文件描述。有人知道怎么做这个吗?

谢谢!

+0

所以你说有没有''new_process'的Description'属性?根据http://msdn.microsoft.com/en-us/library/windows/desktop/aa394372%28v=vs.85%29.aspx应该有。 –

+0

犯错,请允许我改写。有一个Description属性,但它实际上并没有给你说明。它给你的名字或标题会给你相同的'* .exe'。 – SpyMachine

+0

你看过其他物业的大量? –

回答

0
while True: 
try: 
    new_process = process_watcher() 

    proc_owner = new_process.GetOwner() 
    proc_owner = "%s\\%s" % (proc_owner[0],proc_owner[2]) 
    create_date = new_process.CreationDate 
    executable = new_process.ExecutablePath 
    cmdline = new_process.CommandLine 
    pid = new_process.ProcessId 
    parent_pid = new_process.parentProcessId 
    privileges = "N/A" 
    process_log_message = "%s,%s,%s,%s,%s,%s,%s,\r\n" % (create_date,proc_owner,executable,cmdline,pid,parent_pid,privileges) 
    print "1" 
    print process_log_message 
    log_to_file(process_log_message) 
except: 
    print "2" 
    pass 

希望这有助于:)