Visualizzazione della cronologia degli annullamenti completa di Windows Explorer


16

sfondo

Windows Explorer mantiene un elenco di operazioni sui file in modo da poterle annullare (10 operazioni fino a XP e 32 da Vista). Puoi vedere l' ultima operazione senza eseguirla aprendo il menu Modifica ed evidenziando il comando Annulla senza selezionarlo e guardando la barra di stato (anche se anche in questo caso, spesso non funziona e mostra solo una stringa vuota nella barra di stato) .

Problema

Sfortunatamente questo non mostra solo l'operazione nella barra di stato, che per impostazione predefinita non è abilitata, ma mostra solo l'ultima operazione. Ancora peggio, mostra solo l'operazione e il nome del file , non i percorsi.

Scenario d'uso

Un esempio di utilizzo è se si rinomina e spostamento di un gruppo di file, soprattutto simile file come nome download1.png, download2.pnge così via, poi rendersi conto di aver dimenticato di spostare uno dei file dopo la ridenominazione di esso. Vedere l'elenco degli ultimi vari nomi di file e percorsi modificati ti permetterebbe di capire quale era mancato senza dover annullare tutte le operazioni successive che potrebbero creare un casino completo di cose.

Domanda

Qualcuno conosce un modo per ottenere un elenco di tutte le operazioni che Windows ha memorizzato nel suo buffer di annullamento? Ho visto un programma che può agganciarsi a Windows e fare cose che non sono supportate come riorganizzare la barra delle applicazioni e le icone della barra delle applicazioni (XP non lo supporta), quindi spero che qualcuno sia riuscito a fare lo stesso con il buffer di annullamento.


xp fa supporto riorganizzando le posizioni dei programmi della barra delle applicazioni - tramite un programma di utilità di terze parti chiamatotaskbar shuffle
Costin Guşă

1
@ CostinGușă, in realtà, c'erano diversi programmi che ti permettevano di riorganizzare la barra delle applicazioni e le icone della barra delle applicazioni, ma come hai detto, erano di terze parti . Questo perché Windows non ha supportato l'azione (Microsoft ha formulato ipotesi sul comportamento degli utenti), quindi hanno dovuto decodificare le funzioni per trovare un modo per farlo perché non c'erano hook ufficiali che permettessero che accadesse (io stesso una volta ha dovuto retroingegnerizzare la voce di registro che controlla il comportamento di visualizzazione dell'icona della barra delle applicazioni per poter scrivere un visualizzatore / editor).
Synetech,

In Windows 10 la barra di stato non visualizza nulla quando si evidenzia Annulla / Ripristina nel menu di scelta rapida della cartella. Stranamente la barra multifunzione non ha alcun pulsante per questo. La soluzione è che devi aggiungere i pulsanti Annulla / Ripeti alla barra degli strumenti Accesso rapido (la piccola barra degli strumenti sulla barra del titolo), quindi punta a ciascuno dei pulsanti per visualizzare i dettagli del loro funzionamento. (Certo, non riesci ancora a vedere i percorsi o la cronologia completa.) PS: Alcune operazioni come ripetere un'eliminazione sembrano cancellare tutta la cronologia, quindi fai attenzione.
ADTC

Risposte:


6

Spero di ottenere correttamente quello che stai cercando. In tal caso, sembra esserci il metodo WinAPI - ReadDirectoryChangesW che potrebbe fare ciò che ti aspetti.

Non sono sicuro se il seguente approccio funzionerà con la cronologia delle operazioni sui file o visualizzerà solo le modifiche apportate dopo il momento in cui viene utilizzato, tuttavia, poiché questo approccio non è così diverso e potrebbe essere utilizzato nello scenario da te fornito, menzionerò che anche potrebbe essere leggermente fuori tema:

Potresti essere in grado di connettere l' oggetto FileSystemWatcher a una cartella (ma l'argomento del collegamento è diverso, questo IMHO offre una bella panoramica dello scopo della classe) - è la classe .NET C #, lo so, ma cos'è C # che può essere reso PowerShell come mostrato da questo script dal Microsoft Script Center.

Potresti prendere in considerazione soluzioni di terze parti come il tracker di Windows Explorer che sembra fare lo stesso (credo che preferiscano usare (documentate) chiamate API piuttosto che tecniche di reverse engineering - ma mi sei sembrato un po 'preoccupato per loro, quindi ne ho cercato solo uno ).

E, ultimo ma non meno importante, potresti anche considerare di scrivere una semplice applicazione WPF basata su FileSystemWatcher o un'applicazione WPF un po 'più complessa che chiama il metodo ReadDirectoryChangesW .


Potrebbe benissimo essere una delle risposte più complete di sempre su superuser.com/ Grazie, per i collegamenti e per il tuo straordinario sforzo, molto gentile! .. Grazie !! :))
Nostromov
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.