Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 检测windows外壳程序更改_Delphi_Shell_Notifications - Fatal编程技术网

Delphi 检测windows外壳程序更改

Delphi 检测windows外壳程序更改,delphi,shell,notifications,Delphi,Shell,Notifications,我正在尝试使用大量组件,以便更好地了解如何检测文件或文件夹的更改。我想编写一个delphi应用程序来实现这一点,但是DelphiUnicode(Tiburon)似乎没有任何组件可以实现这一点。至少现在不会了。我在调色板上发现了一个奇怪的组件,名为shellersources,在将其放在表单上并运行后,我得到一个错误: CMCTRL是使用不同版本的SHLObj.iautomplete编译的 我几乎尝试了这里列出的所有组件:shell resourcehttp://www.torry.net/pag

我正在尝试使用大量组件,以便更好地了解如何检测文件或文件夹的更改。我想编写一个delphi应用程序来实现这一点,但是DelphiUnicode(Tiburon)似乎没有任何组件可以实现这一点。至少现在不会了。我在调色板上发现了一个奇怪的组件,名为shellersources,在将其放在表单上并运行后,我得到一个错误:

CMCTRL是使用不同版本的SHLObj.iautomplete编译的


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

有两个Windows API调用可以帮助您在Delphi中实现这一点:


  • 缺点是这些函数调用是低级的非delphi组件。但您仍然可以在Delphi中进行这些函数调用。如果您确实需要一个delphi组件,您可以使用上面提到的函数作为基础来编写自己的组件。

    您是否指定了ComCtl32.dll的特定版本?如果有,哪一个?如果没有,也许你应该试试?我只是在陈述我在IDE中看到的错误。我不知道如何检查版本。我对使用C Builder的知识非常有限,你能给我举个例子或给我一个教程,说明如何在Delphi中使用FindNextChangeNotification,或者,如果可能的话,如何在Delphi中使用C组件吗?