[英]Detecting opening file (using c#)
大家好,很抱歉,如果我重復問題(我的英語很糟糕)。 有沒有辦法在用戶打開文件時收到通知? 類似於FileSystemWatcher類,除了“打開”事件? 我只想檢測打開文件而不更改或重命名此文件。 例如,現在我檢測到重命名文件並且也想要檢測打開
private void hookEvents(String path, String password)
{
FileSystemWatcher fsw = new FileSystemWatcher();
fsw.Path = Path.GetDirectoryName(path);
fsw.Filter = Path.GetFileName(path);
fsw.Renamed += new RenamedEventHandler(onRenamed);
fsw.EnableRaisingEvents = true;
}
PS我聽說過一些有關過濾器和驅動程序的信息,但我希望c#可以簡單地處理我的請求。
System.IO.FileSystemWatcher用於監視文件更改。 由於“打開文件”不會更改文件本身,因此無法確定。
有可能的方法來做到這一點
選項1
您可以通過WMI查詢檢測文件是否正在使用(如果您的操作系統是基於Windows的)或打開文件進行寫入(文件正在使用時發生異常)。
選項2
您可以嘗試獲取文件的句柄,並查看哪個進程具有所有權。 如果是這樣,該文件由其他人打開。 查看這篇文章使用C#,如何找出鎖定文件的進程?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.