2010-02-22 48 views
0

当试图将C:\ a.txt移动到C:\ b.txt时,我在Windows 2008上使用Windows API的MoveFileEx函数和MOVEFILE_DELAY_UNTIL_REBOOT选项。当使用regedit.exe时,我可以看到这些条目按照Microsoft的文档插入正确的注册表位置(System \ CurrentControlSet \ Control \ Session Manager \ AllowProtectedRenames),但是在重新启动后,重命名仍然没有发生。这可能是什么原因?在Win2008上可能会采取更多步骤吗?MoveFileEx与MOVEFILE_DELAY_UNTIL_REBOOT对Win2008没有影响

回答

0

好吧,所以事实证明,窗户吸引我的吸盘。 C:\ a.txt实际上是C:\ a.txt.txt,因为这些漂亮的小功能窗口必须'隐藏已知文件类型的文件扩展名'... aaargh!

另请注意,这仅适用于文件位于同一卷上,因为您在使用MOVEFILE_DELAY_UNTIL_REBOOT时无法使用MOVEFILE_COPY_ALLOWED选项。