2010-02-22 90 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選項。