c++ - FindFirstChagneNotification 找不到指定的文件

标签 c++ windows file-monitoring

我已经搜索过,但找不到任何答案。我正在尝试在 Windows 上用 C++ 创建一个文件监视程序。 FindFirstChangeNotification 函数总是找不到指定的文件。我什至尝试过对测试路径进行硬编码。 示例代码是

LPTSTR lpDir = (LPTSTR)("C:\\Users\\userName\\Desktop");
HANDLE dwChangeHandle;

dwChangeHandle = FindFirstChangeNotification(
    lpDir,  // directory to watch
    FALSE,  // Don't watch subtree
    FILE_NOTIFY_CHANGE_SIZE);

if (dwChangeHandle == INVALID_HANDLE_VALUE) 
    ExitProcess(GetLastError());

谢谢。

最佳答案

路径的转换看起来有问题 - 如果您针对 Unicode 进行编译,它将找不到路径,因为您实际上没有指向正确类型的字符串。

你应该做 LPTSTR lpDir = TEXT("C:\\Users\\userName\\Desktop");

关于c++ - FindFirstChagneNotification 找不到指定的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27549617/

相关文章:

c++ - 如何异步更新listmodel和listview

c++ - 如何从 C 程序调用 bash shell 脚本中定义的函数

java - 在 UNIX 中监视文件/文件夹以获取更改通知

java - vfs2 DefaultFileMonitor 线程提前终止

c++ - 大多数编译器是否将 % 2 转换为位比较?真的更快吗?

c++ - 当方法覆盖并省略 const 时,gcc 编译器不显示警告

c++ - 如何在 wxListCtrl (wxwidgets) 中上下移动一个项目

windows - 批处理目录中的所有文件

python - 如何使用 Python 在 Windows 应用程序中获取右键单击上下文菜单?

java - 如何监控文件修改并了解进行了哪些更改