Просмотр полной истории отмен Windows Explorer

16

Фон

Проводник Windows поддерживает список файловых операций, так что вы можете отменить их (10 операций до XP и 32 из Vista). Чтобы увидеть последнюю операцию, не выполнив ее, откройте меню « Правка» и выделите команду « Отменить», не выделив ее и не глядя на строку состояния (хотя даже в этом случае она часто не работает и в строке состояния отображается только пустая строка). ,

проблема

К сожалению, это не только показывает операцию в строке состояния, которая по умолчанию не включена, но это показывает только последнюю операцию. Хуже того, он показывает только операцию и имя файла , а не путь (и).

Сценарий использования

Например, если вы переименовываете и перемещаете несколько файлов, особенно файлов с одинаковыми именами, например download1.png, download2.pngи т. Д., То понимаете, что забыли переместить один из файлов после его переименования. Просмотр списка последних нескольких измененных имен файлов и путей позволит вам выяснить, какое из них было пропущено, без необходимости отмены всех последующих операций, которые могут привести к полному беспорядку.

Вопрос

Кто-нибудь знает способ получить список всех операций, которые Windows сохранила в своем буфере отмены? Я видел программу, которая может подключаться к Windows и делать вещи, которые не поддерживаются, например, переупорядочивать значки на панели задач и в трее (XP не поддерживал это), поэтому я надеюсь, что кому-то удалось сделать то же самое с буфером отмены.

Synetech
источник
хр делает поддержку переставляя панель задач программных позиций - с помощью утилиты третьей стороны , которая называетсяtaskbar shuffle
Costin Гус
1
@ CostinGușă, на самом деле, было несколько программ, позволяющих переставлять иконки панели задач и панели задач, но, как вы сказали, они были сторонними . Это связано с тем, что Windows не поддерживала это действие (Microsoft делала предположения о поведении пользователя), поэтому им пришлось перепроектировать функции, чтобы найти способ сделать это, потому что не было официальных хуков, чтобы это произошло (я сам однажды пришлось перепроектировать запись реестра, которая управляет поведением отображения иконки в трее, чтобы написать для нее средство просмотра / редактирования).
Synetech
В Windows 10 строка состояния ничего не отображает при выделении « Отменить / Повторить» в контекстном меню папки. К сожалению, на ленте нет никаких кнопок для этого. Обходной путь заключается в том, что вы должны добавить кнопки « Отменить / Повторить» к панели быстрого доступа (крошечная панель инструментов в строке заголовка), а затем указать на каждую из кнопок, чтобы просмотреть подробную информацию об их работе. (Конечно, вы все еще не видите пути или полную историю.) PS: Некоторые операции, такие как восстановление удаления, похоже, очищают всю историю, поэтому будьте осторожны с этим.
ADTC

Ответы:

6

Надеюсь, я правильно понял, что Вы ищете. Если так, то, похоже, есть метод WinAPI - ReadDirectoryChangesW, который может делать то, что вы ожидаете.

Я не уверен, будет ли следующий подход работать с историей файловых операций или отображать только изменения, внесенные после его использования, однако, поскольку этот подход не так уж отличается и может использоваться в предоставленном вами сценарии, я упомяну, что даже он может быть немного не по теме

Вы могли бы иметь возможность подключить объект FileSystemWatcher к папке (но тема ссылки другая, это IMHO дает хороший обзор целей класса) - это класс C # .NET, я знаю, но то, что C # можно сделать PowerShell, как показано по этому сценарию из Центра сценариев Microsoft.

Вы могли бы рассмотреть сторонние решения, такие как трекер Windows Explorer, которые, кажется, делают то же самое (я полагаю, что они скорее используют (документированные) вызовы API, чем методы обратного инжиниринга - но вы, кажется, немного обеспокоены ими, поэтому я только посмотрел один ).

И последнее, но не менее важное: вы можете даже подумать о написании простого приложения WPF на основе FileSystemWatcher или более сложного приложения WPF, вызывающего метод ReadDirectoryChangesW .

Мэтт Стувисант
источник
Очень хорошо, это может быть один из самых полных ответов на superuser.com/ Спасибо за ссылки и за ваши УДИВИТЕЛЬНЫЕ усилия, очень приятно! .. Спасибо !! :))
Ностромов