Я искал и не могу найти ответы на этот вопрос. Я пытаюсь создать программу мониторинга файлов на C ++ в Windows. Функция 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");