检测windows shell的变化

时间:2009-10-13 18:17:08

标签: delphi shell notifications

我正在尝试使用大量组件来更好地了解如何检测文件或文件夹的更改时间。我想编写一个delphi应用程序来执行此操作,但delphi Unicode(Tiburon)似乎没有附带任何可以实现此目的的组件。至少不再这样了。我在调色板上找到了一个名为shellersources的奇怪组件,在将它放在表单上并运行它之后我得到一个错误:

  

使用不同版本的SHLObj.IAutocomplete

编译Cmctrls

我尝试了几乎所有这里列出的组件:shell resourcehttp://www.torry.net/pages.php?id = 252,有趣的是我在编译时得到了同样的错误。我在Vista上运行delphi,这可能是一个远景问题吗?我也试过了about.com的SHChangeNotify组件,甚至它也产生了与SHlObj.IAutocomplete相同的错误。有人注意到了吗?奇怪。

1 个答案:

答案 0 :(得分:2)

有两个Windows API调用可以帮助您在Delphi中完成此任务:

  1. FindFirstChangeNotification
  2. FindNextChangeNotification
  3. 缺点是这些函数调用是低级非delphi组件。但是你仍然可以在Delphi中进行这些函数调用。如果你绝对需要一个delphi组件,你总是可以编写自己的组件,使用上面提到的函数作为基础。