2009-11-02 3 views
2

Я ищу простой способ просмотра содержимого папки с использованием Win32 (минимальная цель - XP). Если возможно, было бы неплохо использовать подход, основанный на событиях, а не подход типа опроса. Чтобы усложнить ситуацию, наблюдаемая папка может быть сетевым ресурсом.Просмотр папки с использованием Win32

Меня действительно интересует только захват «новых файлов». Меня не волнует, не сообщается ли мне о переименованных или удаленных файлах.

Есть ли способ, управляемый событиями, или опрос мой единственный выбор при работе с Win32?

ответ

3

Вы пробовали FindFirstChangeNotification и FindNextChangeNotification. Загрузить пример исходного кода от here

2

FindFirstChangeNotification - это правильный API здесь, как говорит Сурайдж. Тем не менее, я нашел, когда использовал это (много лет назад), что он иногда терпел неудачу, если использовать его для просмотра сетевого ресурса с бесконечным ожиданием на возвращаемом дескрипторе. Я просто применял тайм-аут и повторно выдавал FFCN каждый раз так часто, что решало проблему.

Я не знаю, разрешила ли эта проблема обновления ОС после этой проблемы, мы никогда не возвращались и не проверяли :-).

+0

Спасибо за головы! Я обязательно буду помнить об этом. – dreamlax