2016-05-29 6 views
0

Ich kopiere einen Ordner mit Folder.CopyHere, und diese Methode gibt S_OK zurück, auch wenn der Benutzer den Prozess abbricht.Wie kann ich das wahre Ergebnis von Folder.CopyHere ermitteln?

Gibt es überhaupt einen Weg herauszufinden, ob der Benutzer abgebrochen hat?

+2

Das ist nur nützlich für Skriptsprachen, verwenden Sie die Funktion [SHFileOperation()] (https://msdn.microsoft.com/en-us/library/windows/desktop/bb762164%28v=vs.85%29.aspx) stattdessen. Ermöglicht Ihnen den Zugriff auf das Member SHFILEOPSTRUCT.fAnyOperationsAborted. –

+0

Das ist gut zu wissen, aber ich bin gezwungen, die 'CopyHere' Methode zu verwenden, um unter anderem ZIP-Archive zu extrahieren, und' SHFileOperation' scheint das nicht zu können. –

+1

[IFileOperation] (https://msdn.microsoft.com/en-us/library/windows/desktop/bb775771.aspx) kann auf Nicht-Dateisystemelementen (wie z. B. ZIP-Archiven) ausgeführt werden, solange Sie das Archivieren Sie sich selbst als Blattknoten, sondern listen Sie seine Kinder auf). – IInspectable

Antwort

0

Ok, so scheint die Antwort zu sein, dass es nicht möglich ist, das wahre Ergebnis von Folder.CopyHere zu erhalten, und die Lösung ist stattdessen die IFileOperation Schnittstelle zu verwenden, wie von IInspectable vorgeschlagen.

Verwandte Themen