Anzeigen des vollständigen Rückgängig-Verlaufs von Windows Explorer

15

Hintergrund

Windows Explorer verwaltet eine Liste der Dateivorgänge, damit Sie sie rückgängig machen können (10 Vorgänge bis XP und 32 unter Vista). Sie können den letzten Vorgang anzeigen, ohne ihn auszuführen, indem Sie das Menü " Bearbeiten" öffnen und den Befehl " Rückgängig" markieren, ohne ihn auszuwählen und in der Statusleiste nachzuschauen. .

Problem

Leider wird hiermit nicht nur die Operation in der Statusleiste angezeigt, die standardmäßig nicht aktiviert ist, sondern nur die letzte Operation. Schlimmer noch, es werden nur die Operation und der Dateiname angezeigt , nicht die Pfade.

Anwendungsfall

Ein Beispiel für die Verwendung ist , wenn Sie umbenennen und eine Reihe von Dateien-besonders ähnlich benannten Dateien wie das Verschieben download1.png, download2.pngetc.-dann erkennen , dass Sie eine der Dateien zu verschieben vergessen, nachdem er die Umbenennung. Wenn Sie sich die Liste der zuletzt geänderten Dateinamen und Pfade ansehen, können Sie herausfinden, welche übersehen wurde, ohne alle nachfolgenden Vorgänge rückgängig machen zu müssen, die zu einem völligen Durcheinander führen könnten.

Frage

Kennt jemand eine Möglichkeit, eine Liste aller Vorgänge abzurufen, die Windows in seinem Rückgängig-Puffer gespeichert hat? Ich habe ein Programm gesehen, das sich in Windows einbinden und Dinge tun kann, die nicht unterstützt werden, wie das Umordnen von Taskleisten- und Tray-Symbolen (XP hat dies nicht unterstützt).

Synetech
quelle
xp tut unterstützen Taskleiste Programmpositionen neu anordnen - über einen Dritten Programm namenstaskbar shuffle
Costin Guşă
1
@ CostinGușă Eigentlich gab es mehrere Programme, mit denen Sie die Taskleisten- und Taskleistensymbole neu anordnen konnten, aber wie Sie sagten, waren sie von Drittanbietern . Dies ist darauf zurückzuführen, dass Windows die Aktion nicht unterstützt hat (Microsoft hat Annahmen zum Benutzerverhalten getroffen), sodass die Funktionen zurückentwickelt werden mussten, um eine Möglichkeit zu finden, dies zu tun, da es keine offiziellen Hooks gab, die dies zuließen (ich selbst einmal) musste den Registrierungseintrag, der das Verhalten der Taskleistensymbole steuert, rückgängig machen, um einen Viewer / Editor dafür zu schreiben.
Synetech

Antworten:

5

Hoffentlich bekomme ich genau das, wonach Sie suchen. Wenn ja, scheint es eine WinAPI-Methode zu geben - ReadDirectoryChangesW , die möglicherweise das tut, was Sie erwarten.

Ich bin nicht sicher, ob der folgende Ansatz mit dem Dateivorgangsprotokoll funktioniert oder nur Änderungen anzeigt, die nach der Verwendung vorgenommen wurden. Da dieser Ansatz jedoch nicht so unterschiedlich ist und möglicherweise in dem von Ihnen angegebenen Szenario verwendet wird, erwähne ich, dass dies auch der Fall sein kann etwas abseits des Themas sein:

Möglicherweise können Sie das FileSystemWatcher- Objekt mit einem Ordner verbinden (das Thema des Links ist jedoch anders, dieser IMHO bietet einen guten Überblick über den Klassenzweck). Ich weiß, dass es sich um eine C # .NET-Klasse handelt von diesem Skript aus dem Microsoft Script Center.

Möglicherweise erwägen Sie Lösungen von Drittanbietern wie den Windows Explorer-Tracker , die anscheinend dasselbe tun (ich glaube, sie verwenden eher (dokumentierte) API-Aufrufe als Reverse-Engineering-Techniken) ).

Und last but not least können Sie sogar erwägen, eine einfache WPF-Anwendung auf der Basis von FileSystemWatcher oder eine etwas komplexere WPF-Anwendung mit der ReadDirectoryChangesW- Methode zu schreiben .

Matt Stuvysant
quelle
Dies könnte eine der umfassendsten Antworten auf superuser.com/ sein. Vielen Dank für die Links und für Ihre großartigen Bemühungen, sehr nett! .. Danke !! :))
Nostromov