Действительно ли FindFirstChangeNotification является лучшим API для использования для уведомления об изменении файловой системы на окнах?

Если для этой библиотеки нет файла d.ts, вам все равно придется создать его самостоятельно, а затем использовать declare var Skype: any; до объявления класса, а затем объявить поле класса как обычно

SkypeField: Skype;
18
задан Free Wildebeest 19 August 2008 в 17:59
поделиться

4 ответа

FindFirstChangeNotification прекрасен, но для немного большего количества окончательного питания необходимо использовать ReadDirectoryChangesW. (На самом деле, оно даже рекомендуется в документации!)

Это не требует указателя функции, это действительно требует, чтобы Вы вручную декодировали необработанный буфер, это использует имена файлов Unicode, но это обычно лучше и более гибко.

, С другой стороны, если Вы хотите сделать то, что делает FileMon, необходимо, вероятно, сделать то, что FileMon делает и использование IFS, чтобы создать и установить фильтр файловой системы .

22
ответ дан 30 November 2019 в 08:53
поделиться

Существуют другие способы сделать это, но большинство из них включает усилие с Вашей стороны (или возьмите производительность из своего приложения, или необходимо заблокировать поток для использования их, и т.д.). FindFirstChangeNotification является немного сложным, если Вы не привыкли к контакту с указателями функции, и т.д., но он имеет достоинство того, чтобы заставлять ОС сделать объем работы для Вас.

0
ответ дан 30 November 2019 в 08:53
поделиться

Вы можете использовать класс FileSystemWatcher. Очень эффективен, но не может работать с общими сетевыми дисками.

-1
ответ дан 30 November 2019 в 08:53
поделиться

На самом деле FileSystemWatcher отлично работает с общими сетевыми дисками. Я использую его прямо сейчас в приложении, которое, помимо прочего, отслеживает изменения файловой системы. (www.tabbles.net)

0
ответ дан 30 November 2019 в 08:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: