Konuyu görüntüle
IUCODERS FORUM > Programlama > .NET > Dosya İşlemlerini Loglamak
Yazar
burakkanmaz


avatar
Gaziantep
Kayıt: 02.10.2006
13.02.2010-00:40 #66910
Bir projemde kullanmak için sistemdeki dosya aktivitelerini izlemem gerekiyor. 1 saat kadar araştırdım fakat bulamadım gibi.

Yapmak istediğim şey windows içerisinde (çift tıklayarak) açılan tüm dosyaların isimlerini yakalayabilmek. Bunu .NET'te yapabilir miyim bilmiyorum ama bir şekilde 3.parti program ile de olabilir (yeterki txt olarak loglasın ben ordan parse edeyim).

Örnek: Siz masaüstünüzden ahmet.txt gibi bir dosyayı çift tıklayarak açtığınızda ben bu dosyanın yolunu yakalamak istiyorum.

Konuyla ilgili bilgisi olan arkadaşlar var mı?





Yazar
blackout


avatar

Kayıt: 11.12.2008
13.02.2010-01:41 #66914
İşini görür mü bilmiyorum ama şunu bir incele istersen:

http://www.codeproject.com/KB/cs/globalhook.aspx





Yazar
burakkanmaz


avatar
Gaziantep
Kayıt: 02.10.2006
13.02.2010-01:49 #66915
Mouse ve Keyboard izlemeden çok dosya izlemek önemli benim için. Bu örneği istediğim hale çevirmek zor olacak gibi :)





Yazar
blackout


avatar

Kayıt: 11.12.2008
13.02.2010-02:09 #66917
Mouse aktiviteleri ile dosya açmanın takip edilebileceği ihtimali üzerine o örneği vermiştim. Windows'ta tüm dosya işlemlerini takip edebilmen için (kolay bir yolu yoksa) windows API çağrılarını (OpenFile, ReadFile, WriteFile, CloseFile vs.) capture etmen gerekiyor.





Yazar
fenerista


avatar
Istanbul
Kayıt: 27.11.2006
13.02.2010-10:09 #66920
Linux'da sistem çağrılarıyla oluyordu sanırım ama Windows' da nedir bilmiyorum ama Windows' da muhtemelen daha kolay bir yolu vardır.





Oktay,
Thk you!





Yazar
ogencay


avatar
Istanbul
banlandı
Kayıt: 02.03.2006
13.02.2010-11:03 #66921
http://tinyurl.com/ydlq8nt
Menüden Autoscrollu açarsan anlık olarak görebilirsin.





There`s No Place Like 127.0.0.1

Yazar
burakkanmaz


avatar
Gaziantep
Kayıt: 02.10.2006
13.02.2010-11:40 #66924
File Monitor programları çok fakat bana kodları lazım :)
Codeplex'ten bu tarzda birşey buldum biraz modifiye edince sanırım istediğimi yapabileceğim.
http://easyhook.codeplex.com/

Teşekkürler hepinize ;)





Yazar
mrcan321


avatar
Mersin
Kayıt: 27.07.2007
13.02.2010-18:28 #66935
Bana da bir projemde kullanmam için "Windows"ta çalışan programların HDD üzerinde hangi dosyalara eriştiği;hangi dosyaların oluşturulduğu, değiştirildiği veya silindiğini LOG layan bir api veya kod parçası lazım.Sizce mümkün mü böyle birşey? .NET platformunda yapabilir miyiz bunu?





Yazar
burakkanmaz


avatar
Gaziantep
Kayıt: 02.10.2006
13.02.2010-23:22 #66946
mrcan321 yazdi
 
...

Hemen üstteki mesajda bulunan linkteki program bunu yapıyor ;)
Açık kaynak + .NET





Yazar
aliprinter


avatar
İstanbul
Kayıt: 12.02.2006
15.02.2010-23:00 #66971
Garanti olmayan ancak basit bir çözüm olarak "Windows ortamında Recent Items dizini altındaki kısayolları (*.lnk) Date modified özelliğine göre tersten sıralayarak ve içeriğini okuyarak TargetPath değerini almayı" önerebilirim.

C# üzerinden LNK dosya içeriğini ve TargetPath'ini "Windows Script Host Object Model" COM referansını ekleyerek okunabileceğini şu adreste yazmışlar: http://www.neowin.net/forum/topic/658928-c%23-resolve-lnk-files/

Ama dosya açma işlemine API üzerinden kancayı atmak biggrin daha sağlam bir yöntem gibi.





Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb