VB 监测某个文件被哪个进程打开 小弟想实现这样一个功能,例如说我现在有个文件A 此时文件B 打开或者读写了文件A我想通过我的程序来知道是谁打开了文件A,或者说监测所有进程看看是否有打开文件A,希望各位大侠赐教简单点就是想知道某个进程打开的所有文件或者说某个文件被哪些进程打开了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看到他们用 SHChangeNotifyRegister() 等API做“监视”的,都没文件打开、读写之类的动作。 我看到有人用下列方式 但是我不会 求教下你需要使用ZwQuerySystemInformation和ZwQueryInformationFile这两个未公开的API先使用ZwQuerySystemInformation函数枚举系统中打开的所有文件的句柄,再使用ZwQueryInformationFile,然后根据参数FileInformationClass的不同值来返回不同的类型,使用FileInformationClass=FileInformationClass来得到FILE_NAME_INFORMATION,从而得到是哪个进程打开了这个文件LS讲的方法没错,我小小地补充一下。ZwQueryInformationFile对应的hFile必须是本进程内的句柄(句柄是进程相关的,不能跨进程使用同一句柄),所以不可以对ZwQuerySystemInformation返回的句柄表里查到的句柄直接ZwQueryInformationFile,应该先ZwDuplicateObject到本进程内之后再ZwQueryInformationFile。另外,如果想关闭句柄,可以创建远程线程执行CloseHandle(ZwClose),或者用ZwDuplicateObject,最后一个参数传DUPLICATE_CLOSE_SOURCE可以关闭原句柄。不知道哪位兄弟能帮忙整理一下 http://www.nirsoft.net/utils/opened_files_view.html 求个很懂得CSOKCET的留个Q交流下 请问在win9x和2k下如何通过注册表修改计算机名? 哪里的问题? 在线求助:maskEdBox中的自动更新afterupdate怎么不好使呢,怎么样检查文本是否改变 问一个文件写入的问题。 基础问题:datagrid的用法 怎么样在窗体LOAD时update数据库里的数据? 精确定时 vb数据库问题? shellexecute谁会用?!谢谢谢谢 微软的64位系统烂的跟月饼一样 关于 vb 正则表达式
我看到有人用下列方式 但是我不会 求教下你需要使用ZwQuerySystemInformation和ZwQueryInformationFile这两个未公开的API先使用ZwQuerySystemInformation函数枚举系统中打开的所有文件的句柄,再使用ZwQueryInformationFile,然后根据参数FileInformationClass的不同值来返回不同的类型,使用FileInformationClass=FileInformationClass来得到FILE_NAME_INFORMATION,从而得到是哪个进程打开了这个文件LS讲的方法没错,我小小地补充一下。ZwQueryInformationFile对应的hFile必须是本进程内的句柄(句柄是进程相关的,不能跨进程使用同一句柄),所以不可以对ZwQuerySystemInformation返回的句柄表里查到的句柄直接ZwQueryInformationFile,应该先ZwDuplicateObject到本进程内之后再ZwQueryInformationFile。另外,如果想关闭句柄,可以创建远程线程执行CloseHandle(ZwClose),或者用ZwDuplicateObject,最后一个参数传DUPLICATE_CLOSE_SOURCE可以关闭原句柄。不知道哪位兄弟能帮忙整理一下