pywin32获取进程写入文件夹的用户

时间:2017-09-21 12:28:58

标签: python python-3.x winapi pywin32

我一直使用Tom Goldens很好的例子来监控python(http://timgolden.me.uk/python/win32_how_do_i/watch_directory_for_changes.html)的文件夹。我正在使用他的第三个例子检查一个更改,一切都很好,但我真的想列出更改文件夹的过程。我试过寻找解决方案,但还没找到任何有用的东西,有人可以帮忙吗?

我的第一个想法是在win32con中寻找一些东西,Tim在CreateFile中使用,但我找不到任何有用的东西..: - /

    ACTIONS = {
    1: "Created",
    2: "Deleted",
    3: "Updated",
    4: "Renamed from something",
    5: "Renamed to something"
}

FILE_LIST_DIRECTORY = 0x0001

try:
    # Setup "listener", that looks for changes on the path 
    hDir = win32file.CreateFile(
        my_path,
        FILE_LIST_DIRECTORY,
        win32con.FILE_SHARE_READ | win32con.FILE_SHARE_WRITE | win32con.FILE_SHARE_DELETE,
        None,
        win32con.OPEN_EXISTING,
        win32con.FILE_FLAG_BACKUP_SEMANTICS,
        None
    )
except:
     sys.exit()

while 1:
        results = win32file.ReadDirectoryChangesW(
            hDir,
            2048,
            True,
            win32con.FILE_NOTIFY_CHANGE_FILE_NAME |
            win32con.FILE_NOTIFY_CHANGE_DIR_NAME |
            win32con.FILE_NOTIFY_CHANGE_ATTRIBUTES |
            win32con.FILE_NOTIFY_CHANGE_SIZE |
            win32con.FILE_NOTIFY_CHANGE_LAST_WRITE |
            win32con.FILE_NOTIFY_CHANGE_SECURITY,
            None,
            None
        )
        for action, file in results:


#This is where I do my action

0 个答案:

没有答案