●●为什么?为什么?关于文件夹●●
有个文件夹C:\test\old\,有个子文件夹,如:C:\test\old\ttt。
我想将文件夹名old改为new,如果文件夹打开的话,我先关闭它,然后再rename
第一种情况:当打开C:\test\old\,未进入它的子文件夹,以下程序执行成功。
HWND hWnd=::FindWindow(NULL, "old");
if(hWnd)::PostMessage(hWnd,WM_CLOSE,0,0);
hWnd=::FindWindow(NULL, "old"); //关闭文件夹“old”
if(hWnd)::PostMessage(hWnd,WM_CLOSE,0,0);
if(RenameFile("c:\\test\\old", "c:\\test\\new"))
ShowMessage("修改文件夹名成功!");
else ShowMessage("无法修改文件夹名!");
第二种情况:当进入它的子文件夹C:\test\old\ttt\,以下程序无法修改文件夹名。
HWND hWnd=::FindWindow(NULL, "ttt");
if(hWnd)::PostMessage(hWnd,WM_CLOSE,0,0);
hWnd=::FindWindow(NULL, "ttt"); //关闭文件夹“ttt”,这里是成功的
if(hWnd)::PostMessage(hWnd,WM_CLOSE,0,0);
if(RenameFile("c:\\test\\old", "c:\\test\\new"))
ShowMessage("修改文件夹名成功!");
else ShowMessage("无法修改文件夹名!");
----------------------------------------------
以上两种情况都关闭了文件夹,但第二种无法修改文件夹名。
为什么?