在尝试将文件C:\a.txt移动到C:\b.txt时,我在Windows2008上使用了Windows API的MoveFileEx函数和MOVEFILE_DELAY_UNTIL_REBOOT选项。我可以看到,在使用regedit.exe时,根据微软的文档,条目被插入到正确的注册表位置(System\CurrentControlSet\Control\Session Manager\AllowProtectedRenames),但在重新启动后,重命名仍然没有发生。造成这种情况的原因是什么?在Win2008上可能还需要采取其他步骤吗?
发布于 2010-02-23 16:47:40
好吧,结果是windows抓住了我的把柄。C:\a.txt实际上是C:\a.txt.txt,因为windows有一个很好的小功能,可以“隐藏已知文件类型的扩展名”。啊!!
还要注意,这只有在文件位于同一卷上时才有效,因为在使用MOVEFILE_DELAY_UNTIL_REBOOT时不能使用MOVEFILE_COPY_ALLOWED选项。
https://stackoverflow.com/questions/2309900
复制相似问题