Pergunta

Eu estou procurando uma maneira simples para assistir o conteúdo de uma pasta usando Win32 (meta mínima é XP). Se possível, seria bom usar uma abordagem orientada a eventos, em vez de uma abordagem do tipo polling. Para complicar as coisas, que a pasta pode ser um compartilhamento de rede.

Eu estou realmente interessado apenas em captar "novos arquivos". Eu não me importo se eu não estou informado de arquivos renomeados ou removidos.

Existe uma maneira orientada a eventos, ou é polling minha única escolha quando se lida com Win32?

Foi útil?

Solução

Já experimentou FindFirstChangeNotification e FindNextChangeNotification . Fazer download de um código-fonte exemplo de aqui

Outras dicas

FindFirstChangeNotification é a API aqui, como diz Suraj. Eu fiz no entanto encontrar ao usar este (há muitos anos), que às vezes não se usou para assistir a um compartilhamento de rede com uma espera infinita no punho ele retorna. Eu simplesmente aplicado um tempo limite ea FFCN de vez em quando emitiu re-, que resolveu o problema.

Eu não sei se atualizações do sistema operacional posteriores resolvido este problema, nós nunca fomos para trás e verificado: -).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top