.net 打开word文件时会触发哪个事件?
我使用无限循环来知道word文件何时打开。.net 打开word文件时会触发哪个事件?,.net,vb.net,.net,Vb.net,我使用无限循环来知道word文件何时打开。 有没有其他方法可以避免无限循环,比如触发器 Do While True 检查运行(新闻状态、旧状态) 线程。线程。睡眠(10000) 环 您可以使用FileSystemWatcher类。 它可用于监视和报告对文件和目录的更改。 在本例中,打开文件会在目录中生成更改 文件结构,因为创建了临时文件,因此 要报告事件的FileSystemWatcher。取决于哪些事件 如果已订阅,则可能会引发多个事件 FileSystemEventArgs提供有关事件的信息
有没有其他方法可以避免无限循环,比如触发器
Do While True
检查运行(新闻状态、旧状态)
线程。线程。睡眠(10000)
环
您可以使用FileSystemWatcher类。它可用于监视和报告对文件和目录的更改。
在本例中,打开文件会在目录中生成更改 文件结构,因为创建了临时文件,因此 要报告事件的FileSystemWatcher。
取决于哪些事件 如果已订阅,则可能会引发多个事件
FileSystemEventArgs
提供有关事件的信息:➜ .ChangeType定义更改的内容(文件已重命名、打开、删除…)
➜ .名称受影响的文件或目录的名称
➜ .文件或目录的完整路径完全限定名
CheckIfRunning做什么?您可以尝试使用ManagementEventWatcher执行类似操作吗?(您可能必须添加System.Management作为参考,默认情况下我没有添加它)的可能副本
Private WithEvents fsw As System.IO.FileSystemWatcher
Private Sub SetupFileSystemWatcher()
fsw = New System.IO.FileSystemWatcher()
fsw.Filter = "*.docx"
fsw.Path = "SomePathToWatch"
'Set at least a filter to NotifyFilters.LastAccess, so that when a
'file is opened (saved, created, deleted, renamed), you are notified
fsw.NotifyFilter = (System.IO.NotifyFilters.LastAccess Or _
System.IO.NotifyFilters.LastWrite Or _
System.IO.NotifyFilters.FileName Or _
System.IO.NotifyFilters.DirectoryName)
'Set the handler to the events you want to receive
AddHandler fsw.Changed, AddressOf OnChanged
AddHandler fsw.Created, AddressOf OnChanged
AddHandler fsw.Deleted, AddressOf OnChanged
AddHandler fsw.Renamed, AddressOf OnRenamed
fsw.EnableRaisingEvents = True
End Sub
'Setup the delegates to receive the events raised by the FileWatcher
Private Shared Sub OnChanged(sender As Object, e As System.IO.FileSystemEventArgs)
Console.Write("A file has been Opened, Saved, Created or Deleted")
End Sub
Private Shared Sub OnRenamed(sender As Object, e As System.IO.RenamedEventArgs)
Console.Write("A file has been Renamed")
End Sub