FindFirstChagneNotification找不到指定的文件

时间:2014-12-18 15:06:54

标签: 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());

感谢。

1 个答案:

答案 0 :(得分:1)

路径的强制转换看起来如果 - 如果你为Unicode编译它将找不到路径,因为你实际上没有指向正确类型的字符串。

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