обнаружение изменений оболочки Windows - PullRequest
0 голосов
/ 13 октября 2009

Существует целый ряд компонентов, которые я пытаюсь лучше понять, как определить, когда файл или папка изменились. Я хочу написать приложение Delphi, чтобы сделать это, но Delphi Unicode (Tiburon), похоже, не поставляется с каким-либо компонентом, который может выполнить это. По крайней мере, больше. Я нашел любопытный компонент в палитре под названием shellersources, и, просто поместив его в форму и запустив, я получаю сообщение об ошибке:

Cmctrls был скомпилирован с другой версией SHLObj.IAutocomplete

Я перепробовал практически все компоненты, перечисленные здесь: ресурс оболочки http://www.torry.net/pages.php?id=252 и, что интересно, я получаю точно такую ​​же ошибку при их компиляции. Я использую Delphi на Vista, это может быть проблемой Vista? Я также попробовал компонент SHChangeNotify с about.com, и даже он тоже выдавал идентичную ошибку относительно SHlObj.IAutocomplete. Кто-нибудь это заметил? Странно.

1 Ответ

2 голосов
/ 13 октября 2009

Существует два вызова Windows API, которые помогут вам сделать это в Delphi:

  1. FindFirstChangeNotification
  2. FindNextChangeNotification

Недостатком является то, что эти вызовы функций являются компонентами низкого уровня, не являющимися delphi. Но вы все равно можете делать эти вызовы функций в Delphi. Если вам АБСОЛЮТНО нужен компонент delphi, вы всегда можете написать свой собственный, используя упомянутые функции в качестве основы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...