XP下自己HOOK CopyFileExW,出了点儿问题

fly4free 2018-03-15 05:14:13

桌面上有一个 abc.txt 文件, explorer.exe 刚加载完时候,选中 abc.txt,然后 Ctrl+C ,然后原地 Ctrl+V
会弹出对话框:


开启 dbgview 后,使用 windbg 启动后,这些现象都没了。

然后我把日志记录在文件中,查看,发现 explorer.exe是这样做的:
step 1: 调用时,传递 dwCopyFlags = COPY_FILE_FAIL_IF_EXISTS
因为就地粘贴,已经有同名文件,原 CopyFileExW 会失败,GetLastError()=80
正常情况下会再调用一次,传递的目标文件名是修改了的,比如文件名变成 “复件 abc.txt”

工作正常的时候,没遇到过问题。
问题是不正常的时候(前文所述的“找不到原文件”),根本也不调用我钩上的 函数,没法查原因。

有哪位大拿,知道这个是怎么回事情吗?
(PS : 使用的是 MinHook 库)

...全文
792 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fly4free 2018-03-19
  • 打赏
  • 举报
回复
找到原因了,自己代码的问题。可能过早break; 导致没有调用原函数。 不过对于 开启 dbgview 和 windbg 调试运行 一切正常,一直不理解。。。。不过没关系了。
赵4老师 2018-03-16
  • 打赏
  • 举报
回复
http://blog.csdn.net/zhao4zhong1/article/details/53078924 老司机找bug的十年心路历程

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧