I want to catch change in security permission of file without blocking till the change is made, like an event that popup when the change is made.
I also don't want to install any third party modules or softwares.
The main requirement of this is to be in some of win32 modules or built-in modules.
I'm currently watching for security change by this function:
    import win32con, win32file
    def security_watcher():
        specific_file = "specific.ini"
        path_to_watch = "." 
        FILE_LIST_DIRECTORY = 0x0001
        hDir = win32file.CreateFile(path_to_watch,
                                    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)
        results = win32file.ReadDirectoryChangesW(hDir,
                                                  1024,
                                                  False,
                                                  win32con.FILE_NOTIFY_CHANGE_SECURITY,
                                                  None,
                                                  None)
        print results
        for action, file_name in results:
            if file_name == specific_file:
               # wake another function to do something about that
Note: I need it non blocking because I use this function in GUI Application and it freezes the GUI.
 
     
    