2014-06-10 28 views
0

如果我真的想刪除一個(空)文件夾,即使其他人打開了它,那麼如何用C++來完成? 從DOS一個可能有點幫助:cpp:刪除其他人打開的文件夾

  1. 在DOS窗口,以確定所有打開的文件運行NET FILES
  2. 篩選出有問題的文件夾的ID,
  3. 在DOS窗口運行NET FILES id /CLOSE與每個ID
  4. 最後,請致電RemoveDirectory()

如何在C++中實現同樣的功能? (我不想延遲,直到重新啓動)

+0

你能告訴我你的代碼有多少,你有什麼樣的問題? – quantdev

+0

Erm在創建最小代碼示例並使用它之後,似乎只需一個簡單的'RemoveDirectory()'就足夠了 - 它無法關閉目錄上其他會話的句柄。然後,我觀察到的錯誤我的代碼必須是別的 - 我可能很快會回來一個更好的問題,這是廢話... –

回答

1

這可能在DOS下工作,但在現代操作系統,這是不能做到的。

在Windows上,如果該文件夾正在使用,則可以使用MoveFileExMOVEFILE_DELAY_UNTIL_REBOOT標誌。

MoveFileEx(folderName, NULL, MOVEFILE_DELAY_UNTIL_REBOOT); 
+0

我特別說我不想延遲,直到重新啓動。 –