gpt4 book ai didi

delphi - Delphi XE中如何监控目录中的文件?

转载 作者:行者123 更新时间:2023-12-03 14:51:12 25 4
gpt4 key购买 nike

Possible Duplicate:
Delphi notification when a file gets updated

需要监视创建文件并对其进行计数。操作系统:WinXP及以上。

最佳答案

去年我有同样的需求并尝试了 Iztok Kacin 的 Directory Watch。他回复了电子邮件,并且对回答我的问题非常有帮助。

他的代码有效,但我需要在特定文件夹中的文件被关闭时得到通知,由于某种奇怪的原因,来自 Microsoft 的 ReadDirectoryChanges API(它所依赖的)令人抓狂)不提供。我似乎还记得 Iztok 的代码使用了线程,感觉不够轻量,无法满足我的需求。

我最终使用了一种非常简单的方法,但对我来说效果非常好。在每隔几秒触发一次的 TTimer 事件中,我对正在监视的文件夹使用 FindFirst。找到的所有文件都放入持久的 TStringList 中。任何在以前的 TTimer 事件的 StringList 中找到的文件都是新文件。 (为了检测文件是否已关闭,我尝试以独占模式打开该文件。如果无法打开它,则它不会添加到 TStringList 中,因此会在下一个事件中检查它。)

我对于使用这种方法非常犹豫,认为它太暴力了。但是,对于我的需求,这个解决方案非常有效,值得庆幸的是,它涉及少量非常简单的代码,易于理解和维护。

HTH

关于delphi - Delphi XE中如何监控目录中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5762258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com