Como: Esperar até ocorrem especificada arquivo System Events
Além de ser usado o FileSystemWatcher componente para monitorar imediatamente um diretório específico, você pode usar o WaitForChanged método aguardar até que um evento específico ocorrer e, em seguida, continue com a execução da thread. Por exemplo, se você estiver trabalhando com um aplicativo de notícias baseado na Web, você pode criar uma parte da administração do site no qual os usuários carregar suas histórias de notícias.Você pode usar o WaitForChanged método para inspeção nesse diretório até a última data de acesso e, em seguida, começar a processar o diretório de notícias para novos artigos.
Você especifica o tipo de alterar para procurar por configuração o valor de um WatcherChangeTypes enumeração. Os valores possíveis são Created, Changed, Renamed, Deleted, ou All. configuração o valor de All presta qualquer alterar feita no diretório. Você também pode especificar um período de time limite se você desejar esperar um determinado período de time para o evento ocorra.
O método WaitForChanged retorna um objeto do tipo WaitForChangedResult.Essa classe contém informações específicas sobre o tipo de alterar que ocorreu no diretório.Você pode acessar informações sistema autônomo nome, OldName e TimedOut nesse objeto para obter mais informações sobre a alterar.
WaitForChanged é um método síncrono. Se você usá-lo em um aplicativos do Windows, o aplicativo poderia parar de responder se o método foi usado no thread da interface do usuário em vez do thread de trabalho.Para obter mais informações sobre problemas de threads no Visual Basic, consulte Multisegmentação no Visual Basic.
Para aguardar as alterações
Criar e configurar o seu FileSystemWatcher instância do componente para indicar o diretório que deseja inspeção. Para obter mais informações, consulte Como: Criar instâncias de componente FileSystemWatcher ou Como: Configurar o componente FileSystemWatcher instâncias.
No Editor de código, criar uma instância do WaitForChangedResult classe.
Dim result As System.IO.WaitForChangedResult
System.IO.WaitForChangedResult result;
No seu FileSystemWatcher ocorrência de componente, especifique o tipo de evento está aguardando, definindo o valor da WaitForChanged um dos valores de propriedade do WatcherChangeTypes enumeração.
fileSystemWatcher1.WaitForChanged(System.IO.WatcherChangeTypes.All)
fileSystemWatcher1.WaitForChanged(System.IO.WatcherChangeTypes.All);
Dica: Você pode usar um formulário sobrecarregado da WaitForChanged método para especificar um período de tempo limite sistema autônomo um segundo parâmetro.
Especifique as ações que deseja executar quando ocorre alterar para o qual você está assistindo.Para obter mais informações, consulte Como: Criar manipuladores para sistema arquivo eventos.
O código a seguir mostra como notifique um usuário um arquivo precisa ser excluído e, em seguida, aguarde até que o Deleted evento a ser elevado. Esse código observa a pasta pessoal do usuário.
Console.WriteLine("Please delete OldNote.txt.") Dim directory As String directory = Environment.GetFolderPath(Environment.SpecialFolder.Personal) Dim watcher As New System.IO.FileSystemWatcher(directory, "OldNote.txt") result = watcher.WaitForChanged(System.IO.WatcherChangeTypes.Deleted) Console.WriteLine("Thanks for deleting OldNote.txt.")
Console.WriteLine("Please delete OldNote.txt."); string directory = Environment.GetFolderPath(Environment.SpecialFolder.Personal); System.IO.FileSystemWatcher watcher = new System.IO.FileSystemWatcher(directory, "OldNote.txt"); result = watcher.WaitForChanged(System.IO.WatcherChangeTypes.Deleted); Console.WriteLine("Thanks for deleting OldNote.txt.");
Consulte também
Tarefas
Como: Criar instâncias de componente FileSystemWatcher
Como: Configurar o componente FileSystemWatcher instâncias
Como: Criar manipuladores para sistema arquivo eventos