Мне нужно отслеживать изменения определенного набора файлов (или только одного файла) и разрешать Windows сообщать в мое приложение.
Вполне вероятно, что большинство файлов будут находиться в одном каталоге, но я бы предпочел систему мониторинга для каждого файла.
Я нашел этот пример http://codewee.com/view.php?idx=20
но пример отслеживает только специальную папку Desktop.
Сначала с помощью вызова SHGetSpecialFolderLocation , затем с использованием результирующего LPITEMIDLIST
в функции SHChangeNotifyRegister (через SHChangeNotifyEntry struct)
Мне не удалось обобщить его в произвольный каталог.
MS Docs говорит, что SHGetSpecialFolderLocation не будет поддерживаться в любом случае в будущем,
SHGetFolderLocation следует использовать вместо.
Но, опять же, SHGetFolderLocation устарела, даже не упоминая, что в ней нет строки / пути
параметр.
Есть ли какая-нибудь удобная функция, которая принимает путь к каталогу или полное имя файла
и создает LPITEMIDLIST, который затем может быть вставлен в SHChangeNotifyRegister ?