2011-12-02 73 views
1

請你告訴我如何刪除與IFileOperation :: DeleteItems多個文件?我無法使用文件名構建IShellItemArray。謝謝!如何創建從文件名列表的IShellItemArray

+0

更容易調用SHFileOperation與文件的雙零結尾的名單。 –

+0

SHFileOperation在Windows 7中折舊 –

+0

'SHFileOperation'仍然正常工作。如果你不需要'IFileOperation'的新功能,那麼'SHFileOperation'更容易。我猜你知道'IFileOperation'在XP上不可用。 –

回答

2
+0

你能告訴我如何添加文件名作爲ID? –

+4

請參閱我對原始問題的評論。 「從」ILCreateFromPath「獲取ID列表。」但是如果你正在爲shell項目和ID列表掙扎,我想你應該退後一步並熟悉基本知識,然後再深入到諸如文件操作之類的高級內容。這樣你就會知道「我什麼時候以及如何釋放這些記憶?」 –

1

我解決這個同樣的問題了。我創建了一個類型爲vector的變量(用於保存我所有的IShellItems),並使用for循環將每個文件名(也是一個矢量)轉換爲一個IShellItem對象,並將它們保存在IShellItem容器中。 然後我遍歷這個IShellItem容器,將每個項目提供給CopyItem()。 循環後,我再調用PerformOpeations()。