Affichage de l'historique d'annulation complet de l'Explorateur Windows

16

Contexte

L'Explorateur Windows conserve une liste des opérations sur les fichiers afin que vous puissiez les annuler (10 opérations jusqu'à XP et 32 ​​à partir de Vista). Vous pouvez voir la dernière opération sans l'exécuter en ouvrant le menu Edition et en mettant en surbrillance la commande Annuler sans la sélectionner et en regardant la barre d'état (même si, souvent, cela ne fonctionne pas et n'affiche qu'une chaîne vide dans la barre d'état) .

Problème

Malheureusement, non seulement cela montre l'opération dans la barre d'état, qui par défaut n'est pas activée, mais cela ne montre que la dernière opération. Pire encore, il affiche uniquement l'opération et le nom du fichier , pas le ou les chemins d'accès.

Scénario d'utilisation

Un exemple d' utilisation est si vous renommer et déplacer un tas de fichiers en particulier les fichiers nommés de la même comme download1.png, download2.png, etc., puis réalisez que vous avez oublié de déplacer l' un des fichiers après l' avoir renommé. Voir la liste des derniers noms de fichiers et chemins modifiés vous permettrait de déterminer lequel a été manqué sans avoir à annuler toutes les opérations suivantes qui pourraient faire un gâchis complet.

Question

Quelqu'un connaît-il un moyen d'obtenir une liste de toutes les opérations que Windows a stockées dans son tampon d'annulation? J'ai vu un programme qui peut se connecter à Windows et faire des choses non prises en charge comme la réorganisation des icônes de la barre des tâches et de la barre d'état (XP ne le supportait pas), donc j'espère que quelqu'un a réussi à faire de même avec le tampon d'annulation.

Synetech
la source
xp prend en charge la réorganisation des positions du programme de la barre des tâches - via un utilitaire tiers appelétaskbar shuffle
Costin Gușă
1
@ CostinGușă, en fait, il y avait plusieurs programmes qui vous permettaient de réorganiser les icônes de la barre des tâches et de la barre d'état, mais comme vous l'avez dit, ils étaient tiers . Cela est dû au fait que Windows n'a pas pris en charge l'action (Microsoft a fait des hypothèses sur le comportement des utilisateurs), ils ont donc dû procéder à une rétro-ingénierie des fonctions pour trouver un moyen de le faire car il n'y avait pas de hooks officiels pour lui permettre de se produire (j'ai moi-même une fois a dû inverser l'ingénierie de l'entrée de registre qui contrôle le comportement d'affichage des icônes de la barre d'état afin d'écrire une visionneuse / un éditeur pour cela).
Synetech
Dans Windows 10, la barre d'état n'affiche rien lorsque vous mettez en surbrillance Annuler / Rétablir dans le menu contextuel du dossier. Malheureusement, le ruban n'a pas de boutons pour cela. La solution de contournement est que vous devez ajouter les boutons Annuler / Rétablir à la barre d'outils d' accès rapide (la petite barre d'outils de la barre de titre), puis pointer sur chacun des boutons pour afficher les détails de leur fonctionnement. (Bien sûr, vous ne pouvez toujours pas voir les chemins ou l'historique complet.) PS: Certaines opérations comme refaire une suppression semblent effacer tout l'historique, alors faites attention à cela.
ADTC

Réponses:

6

J'espère que j'obtiens correctement ce que vous cherchez. Si c'est le cas, il semble y avoir une méthode WinAPI - ReadDirectoryChangesW qui pourrait faire ce que vous attendez.

Je ne sais pas si l'approche suivante fonctionnera avec l'historique des opérations sur les fichiers ou affichera uniquement les modifications apportées après le moment où elle est utilisée, car cette approche n'est pas si différente et pourrait être utilisée dans le scénario que vous avez fourni, je mentionnerai que même elle pourrait être légèrement hors sujet:

Vous pourriez être en mesure de connecter l' objet FileSystemWatcher à un dossier (pourtant le sujet du lien est différent, cette IMHO donne un bon aperçu de l'objectif de la classe) - c'est la classe C # .NET, je sais, mais ce qui est C # peut être fait PowerShell comme indiqué par ce script du Script Center de Microsoft.

Vous pourriez envisager des solutions tierces telles que le tracker de l'Explorateur Windows qui semblent faire la même chose (je crois qu'ils utilisent plutôt des appels d'API (documentés) que des techniques de rétro-ingénierie - mais vous sembliez un peu inquiets à leur sujet, donc je n'en ai recherché qu'une ).

Enfin, vous pourriez même envisager d'écrire une application WPF simple basée sur FileSystemWatcher ou une application WPF un peu plus complexe appelant la méthode ReadDirectoryChangesW .

Matt Stuvysant
la source
Cela pourrait très bien être l'une des réponses les plus complètes - jamais - sur superuser.com/ Merci, pour les liens et pour votre effort IMPRESSIONNANT, très sympa! .. Merci !! :))
Nostromov