2010-05-17 44 views
2

是否有可能找到更改FileInfo.lastAccessTime或FileInfo.lastWriteTime的進程?獲取已更改的進程FileInfo.lastAccessTime或FileInfo.lastWriteTime

+0

的可能重複[如何攔截在.NET程序中訪問文件](http://stackoverflow.com/questions/2352826/how-to-intercept-the-access-to-a-file-in-a-net-程序) – Oliver 2010-05-17 12:05:49

+0

[如何獲取通知當文件夾被訪問?]可能的重複(http://stackoverflow.com/questions/2808722/how-to-get-notified-when-a-folder-is-accessed) – Oliver 2010-05-17 12:06:33

+0

這不是同一個問題,這是關於攔截,這似乎是關注事實。 – 2010-05-17 12:06:40

回答

0

據我所知,所有的操作系​​統都不會跟蹤這些信息的IO性能的原因。

您可以使用FileSystemWatcher實現文件觀察器。這裏是非常簡單的例子:

http://www.csharphelp.com/2006/11/file-watcher-utility/

,然後得到一個過程厲聲說時從事件處理程序

+0

這可以工作,但可以說我有notepad.exe和word.exe同時打開,並與兩個應用程序打開相同的file.txt,我不能說這完全是這個過程做出lastWriteTime/lastAccessTime更改。 – case23 2010-05-17 12:55:57

+0

是的 - 你會被擰!正如我所說 - 沒有操作系統支持它的一個非常難的問題來解決 – 2010-05-17 20:00:57

1

正如大衛說,一出手,我不認爲這是可能的,因爲我不認爲這些信息存儲在任何文件的元數據中。 然而,你也許可以做到這一點以某種方式通過啓用審計,看看這個鏈接查看更多細節(它是XP,但應該是Vista的相似和7):

http://support.microsoft.com/kb/310399

+0

這聽起來像一個選項,但我看到的問題是,當我想在另一個系統上使用該應用程序沒有激活這個選項,我只會爲用戶付出很多努力。但很高興知道這個選項存在! – case23 2010-05-17 12:52:53

相關問題