Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.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
C++ 如何通过Win API监控文件更改_C++_Winapi - Fatal编程技术网

C++ 如何通过Win API监控文件更改

C++ 如何通过Win API监控文件更改,c++,winapi,C++,Winapi,我需要监视特定文件集或一个文件的更改,并让Windows向我的应用程序报告。 很可能,大多数文件都在同一个目录中,但我更喜欢每个文件的监控系统 我找到了这个例子 但该示例只监视特殊的桌面文件夹 首先调用SHGetSpecialFolderLocation,然后使用生成的LPITEMIDLIST 通过SHChangeNotifyEntry结构在SHChangeNotifyRegister函数中 我无法将其推广到任意目录。 MS Docs表示,SHGetSpecialFolderLocation在将

我需要监视特定文件集或一个文件的更改,并让Windows向我的应用程序报告。 很可能,大多数文件都在同一个目录中,但我更喜欢每个文件的监控系统

我找到了这个例子 但该示例只监视特殊的桌面文件夹

首先调用SHGetSpecialFolderLocation,然后使用生成的LPITEMIDLIST 通过SHChangeNotifyEntry结构在SHChangeNotifyRegister函数中

我无法将其推广到任意目录。 MS Docs表示,SHGetSpecialFolderLocation在将来无论如何都不受支持, 应改用SHGetFolderLocation

但是,SHGetFolderLocation再次遭到反对,甚至没有提到它没有字符串/路径 参数

是否有任何方便的函数可以使用目录路径或完整的文件名 并生成LPITEMIDLIST,然后可以将其粘贴到SHChangeNotifyRegister?

,

可用于将文件路径转换为PIDL,以便与SHChangeNotifyRegister等一起使用

,

可用于将文件路径转换为PIDL,以便与SHChangeNotifyRegister一起使用