當我複製/從我的程序中刪除文件我可以記錄操作和執行撤消和重做。如何跟蹤系統範圍的文件操作(撤消/重做)?
但是我想跟蹤整個系統的複製/刪除過程,就像Explorer一樣,這樣即使從某個其他進程(如Explorer)執行刪除過程時,也可以執行撤消操作。
當我複製/從我的程序中刪除文件我可以記錄操作和執行撤消和重做。如何跟蹤系統範圍的文件操作(撤消/重做)?
但是我想跟蹤整個系統的複製/刪除過程,就像Explorer一樣,這樣即使從某個其他進程(如Explorer)執行刪除過程時,也可以執行撤消操作。
您必須使用針對ShellAPI的那個,而不是一套sysutils的標準文件的功能。如果複製/刪除/剪切與ShellExecuteEx,撤銷重做將可從資源管理器中,即使操作已經被你的程序之內。
你會如何剪切/複製/用'ShellExecuteEx'刪除?讓[SHFileOperation](http://msdn.microsoft.com/en-us/library/windows/desktop/bb762164%28v=vs.85%29.aspx)在這裏完成它的工作;-) – TLama
標準CopyFilesW等函數以某種方式記錄在資源管理器稍後可以使用撤銷/重做進行調用的列表中。我想知道哪些API調用Explorer用於此。 –
@TLama:其實我這裏的第一個問題,作爲一個匿名用戶,是關於這個......所以這是可能的,通過使用動詞'複製'等,參考http://stackoverflow.com/questions/3950216/winapi -shellexecuteex-using-verb-copy-on-a-file-list – az01
你可以重新生成代碼與Windows的問題,並在標題中把「窗口」。你的問題目前不太清楚,不夠準確。 – az01
好吧,我已經添加>(WINDOWS API) –
由於Windows Vista中,有對文件操作的系統範圍內的撤消列表。該列表由Explorer管理,因爲它是shell。要自己管理列表,您必須以shell的身份替換Explorer。您不應該試圖自己管理列表,而應該試圖允許撤消和重做操作,只需訪問資源管理器爲您保留的同一列表即可。 –