【问题标题】:Tracking changes in a directory programmacticaly以编程方式跟踪目录中的更改
【发布时间】:2010-09-15 01:05:26
【问题描述】:

我必须编写一个小应用程序来处理保存在给定目录中的文件。我不喜欢编写无限循环、计时器之类的东西。

我想知道是否(我敢打赌有!)是否有任何 Windows API 可以向我的应用程序发送一条消息,告知保存在给定目录中的任何文件。

【问题讨论】:

  • +1 表示愿意为 WinAPI 函数交换数字。

标签: windows delphi winapi directory delphi-7


【解决方案1】:

ReadDirectoryChangesW 正确使用并非易事。有一个工作样本here。我使用了与此密切相关的生产代码,但我发现没有更好的示例可供使用。

请注意,herehere 描述的 API 存在已知问题(诚然可能不会影响您的极端情况),以及有关使用的更多建议 here

【讨论】:

  • 是的,这很糟糕。我会解决这个问题。
  • 固定链接,一个网站似乎坏了,所以我删除了
【解决方案2】:

您要查找的函数是ReadDirectoryChangesW

【讨论】:

  • 或者,也可以使用 FindFirstChangeNotification() 和/或 SHChangeNotifyRegister()。
【解决方案3】:

您也可以使用FindFirstChangeNotification 功能。 JEDI JVCL 集合中存在一个名为 TJvChangeNotify 的组件,它封装了这个函数,使其更易于使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-26
    相关资源
    最近更新 更多