Latar Belakang
Windows Explorer menyimpan daftar operasi file sehingga Anda dapat membatalkannya (10 operasi hingga XP dan 32 dari Vista). Anda dapat melihat operasi terakhir tanpa menjalankannya dengan membuka menu Edit , dan menyorot perintah Undo tanpa memilihnya dan melihat bilah status (meskipun itu pun sering tidak berfungsi dan hanya menampilkan string kosong di bilah status) .
Masalah
Sayangnya ini tidak hanya menunjukkan operasi di bilah status, yang secara default tidak diaktifkan, tetapi ini hanya menunjukkan operasi terakhir. Lebih buruk lagi, ini hanya menunjukkan operasi dan nama file , bukan path.
Skenario penggunaan-kasus
Contoh penggunaan adalah jika Anda mengganti nama dan bergerak sekelompok file-terutama bernama sama file seperti download1.png
, download2.png
, dll-kemudian menyadari bahwa Anda lupa untuk memindahkan salah satu file setelah mengubah nama itu. Melihat daftar beberapa nama file dan jalur yang dimodifikasi akan memungkinkan Anda untuk mencari tahu mana yang terlewat tanpa harus membatalkan semua operasi selanjutnya yang mungkin membuat kekacauan total.
Pertanyaan
Adakah yang tahu cara untuk mendapatkan daftar semua operasi yang disimpan oleh Windows di buffer Undo? Saya telah melihat program yang dapat menghubungkan ke Windows dan melakukan hal-hal yang tidak didukung seperti mengatur ulang taskbar dan ikon tray (XP tidak mendukung itu), jadi saya berharap seseorang telah berhasil melakukan hal yang sama dengan batalkan Undo.
sumber
taskbar shuffle
Jawaban:
Semoga saya mendapatkan apa yang Anda cari dengan benar. Jika demikian, tampaknya ada metode WinAPI - ReadDirectoryChangesW yang mungkin melakukan apa yang Anda harapkan.
Saya tidak yakin apakah pendekatan berikut akan bekerja dengan riwayat operasi file atau hanya menampilkan perubahan yang dibuat setelah waktu digunakan, namun, karena pendekatan ini tidak jauh berbeda dan mungkin digunakan dalam skenario yang Anda berikan, saya akan menyebutkan bahwa bahkan mungkin menjadi sedikit di luar topik:
Anda bisa dapat menghubungkan objek FileSystemWatcher ke folder (namun topik tautannya berbeda, IMHO ini memberikan gambaran yang bagus tentang tujuan kelas) - itu adalah C #. Kelas NET, saya tahu, tetapi apa yang dimaksud dengan C # dapat dibuat PowerShell seperti yang ditunjukkan oleh skrip ini dari Microsoft's Script Center.
Anda mungkin mempertimbangkan solusi pihak ke-3 seperti pelacak Windows Explorer yang tampaknya melakukan hal yang sama (saya percaya mereka lebih suka menggunakan (mendokumentasikan) panggilan API daripada teknik reverse-engineering - tetapi Anda tampaknya sedikit khawatir tentang mereka, jadi saya hanya mencari satu ).
Dan yang tak kalah pentingnya, Anda bahkan mungkin mempertimbangkan untuk menulis aplikasi WPF sederhana berdasarkan FileSystemWatcher atau aplikasi WPF sedikit lebih kompleks memanggil metode ReadDirectoryChangesW .
sumber