我需要在另一个应用程序关闭文件时生成一个事件.
不幸的是,ReadDirectoryChangesW不报告close事件.我可以(通过TTimer)轮询由ReadDirectoryChangesW报告为修改的任何文件,等待它被关闭(使用CreateFile来检测它).
但是,我更喜欢的是一个完全由事件驱动的解决方案.
有没有办法挂钩系统调用并检测所有文件关闭事件?我只是想知道刚刚关闭的任何文件的路径和名称.
你应该看看Mathias Rauens的madCodeHook:
madCodeHook提供了从Windows 95到Windows 7在所有32位和64位Windows操作系统中挂钩代码(主要是API)所需的一切.您可以选择是在自己的进程中,还是在特定的目标进程中挂钩API,或者系统范围.