桌面上有一个 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 库)