VC怎么判断某个文本文件与哪个程序有关联? 本帖最后由 hongh520 于 2010-01-07 11:51:33 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果AUTORUN.INF写入已经完成,我们无法知道是谁写的这个文件。只有正在写和将要写的时候才行,而这就要用到HOOK技术,Hook住文件读写的几个API,完成类似FileMon的功能。 这个我也想过,但是不知道windows写文件的消息是什么?捕获哪个消息? 回一楼的:如果AUTORUN.INF写入已经完成, 也是可以知道的!比如迅雷写入文件,锁定文件,非锁定文件,关闭迅雷后,还是能知道迅雷当时操作过的事件!“ Process Monitor ”这个软件就能做到·· 1.通过ZwQuerySystemInformation查询当前系统的所有句柄信息,然后调用OpenProcess获取目标进程句柄,2.遍历当前所有进程,根据进程ID,得到此进程打开的所有句柄信息,接下来用DuplicateHandle复制Handle到本地进程,3.然后把文件句柄发给内核驱动进行名字的查询,驱动将返回文件句柄对应的内核文件对象的完整名字。4.比较文件名。文件名相同则可确定使用该文件的进程。流程总结:目标进程--句柄表--DuplicateHanel到本进程--发送给驱动获取文件名--相同则确定目标进程为正在使用该文件的进程驱动处理句柄的主要函数:ObReferenceObjectByHandle ObQueryNameString 谢谢jackson35296!! 你的回答很专业! 关于CStatic右击 TEXTMETRICS 的问题 CSplitterWnd分割三个view问题 组合框 怎样在vc下 将资源文件rc编译成 res文件 如何捕获用户名和密码错误 三个月没来,账号依旧在。公开A10战机源代码,庆贺一下。 好久没有来了,散分,第一个来的给! 这段代码有什么问题? (关于文件拷贝) 如何取得CScrollView中可视部分的大小 这里有微软的吗?Visual C++ 2008 Feature Pack有问题啊! 求助:DeviceObject->DeviceQueue 得到的是对象还是指针?
只有正在写和将要写的时候才行,而这就要用到HOOK技术,Hook住文件读写的几个API,完成类似FileMon的功能。
如果AUTORUN.INF写入已经完成, 也是可以知道的!
比如迅雷写入文件,锁定文件,非锁定文件,关闭迅雷后,还是能知道迅雷当时操作过的事件!
“ Process Monitor ”这个软件就能做到··
2.遍历当前所有进程,根据进程ID,得到此进程打开的所有句柄信息,接下来用DuplicateHandle复制Handle到本地进程,
3.然后把文件句柄发给内核驱动进行名字的查询,驱动将返回文件句柄对应的内核文件对象的完整名字。
4.比较文件名。文件名相同则可确定使用该文件的进程。流程总结:目标进程--句柄表--DuplicateHanel到本进程--发送给驱动获取文件名--相同则确定目标进程为正在使用该文件的进程驱动处理句柄的主要函数:ObReferenceObjectByHandle ObQueryNameString
谢谢jackson35296!! 你的回答很专业!