none
SHFileOperation處理文件無法以檔案總管"UNDO"? RRS feed

  • 問題

  • 這是段使用SHFileOperation刪除檔案的CODE:

    Option Explicit
    Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
    Private Type SHFILEOPSTRUCT
                 hWnd As Long
                 wFunc As Long
                 pFrom As String
                 pTo As String
                 fFlags As Integer
                 fAnyOperationsAborted As Long
                 hNameMappings As Long
                 lpszProgressTitle As String
    End Type
    Private Const FO_DELETE As Long = &H3
    Private Const FOF_ALLOWUNDO = &H40

    Sub Main()
      Dim SHF As SHFILEOPSTRUCT
      SHF.wFunc = FO_DELETE
      SHF.pFrom = "C:\AA\AA1.txt" & Chr(0)
      SHF.fFlags = FOF_ALLOWUNDO
      Debug.Print SHFileOperation(SHF)
    End Sub

    以SHFileOperation這類的方法操作僅會將檔案移到資源回收筒,
    但在檔案總管中是無法進行"復原"動作的。

    請問各位前輩,
    要如何做到復制、刪除、移動、更名等動作均能在檔案總管理可以"UNDO"呢?
    (任何方式,不只限定使用SHFileOperation…)

    工作環境: XP.SP3

     
    2013年3月28日 下午 04:20

解答

  • 用檔案總管操作 復制、刪除、移動、更名等動作
    才能在檔案總管裡"UNDO"


    以下為簽名檔,如果你愛拉椅子坐那就是你的問題。
    先查MSDN文件庫
    再用GOOGLE搜尋
    才到論壇來發問

    這是論壇不是技術支援中心
    沒有人得無償解答你的問題

    在標題或文章註明很急
    不會增加網友回覆速度


    • 已編輯 Alex_Lee 2013年3月29日 上午 12:12
    • 已標示為解答 3DBOX 2013年3月29日 上午 03:50
    2013年3月28日 下午 04:57
  • Undo 的功能要由應用程式自己實作。

    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    • 已標示為解答 3DBOX 2013年3月29日 上午 03:50
    2013年3月28日 下午 11:47
    版主

所有回覆

  • 用檔案總管操作 復制、刪除、移動、更名等動作
    才能在檔案總管裡"UNDO"


    以下為簽名檔,如果你愛拉椅子坐那就是你的問題。
    先查MSDN文件庫
    再用GOOGLE搜尋
    才到論壇來發問

    這是論壇不是技術支援中心
    沒有人得無償解答你的問題

    在標題或文章註明很急
    不會增加網友回覆速度


    • 已編輯 Alex_Lee 2013年3月29日 上午 12:12
    • 已標示為解答 3DBOX 2013年3月29日 上午 03:50
    2013年3月28日 下午 04:57
  • Undo 的功能要由應用程式自己實作。

    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    • 已標示為解答 3DBOX 2013年3月29日 上午 03:50
    2013年3月28日 下午 11:47
    版主
  • 一一|||........
    雖然不是預期,
    但還是感謝兩位前輩的解答。
    看來要想想辦法操作Explorer了...
    2013年3月29日 上午 03:57