Windows Service ile ilgili bir proje üzerinde çalışıyorum ve biraz yardıma ihtiyacım var. Bir Windows hizmeti yazıyorum, ve amacım C sürücüsü üzerindeki herhangi bir dosyanın ya da klasörün silinmesini engellemek, diskin formatlanmasını engellemek ve tüm bu dosya işlemlerini (silme, oluşturma, değiştirme) loglamak.
Kullandığım yaklaşımlar arasında FileSystemWatcher ve ManagementEventWatcher var. FileSystemWatcher ile C diskindeki tüm dosya ve klasörlerde değişiklikleri izleyip, silme işlemi yapıldığında engellemek ve kullanıcıyı bilgilendirmek istiyorum. Ancak ne yaptıysam C:’den bir dosya veya klasör sildiğimde, orada tekrar 0 KB boyutunda bir dosya beliriyor ve orijinal dosyaya erişilemiyor hale geliyor. Şu anki kodumda lockedFiles adlı bir dictionary ile dosyaları kilitlemeye çalıştım, ama bu yaklaşım beklediğim gibi çalışmadı.