| 15 | |
| 16 | |
| 17 | BOOL DectFileChanges::DetectChanges() { |
| 18 | |
| 19 | WIN32_FILE_ATTRIBUTE_DATA fInfo; |
| 20 | BOOL rValue = FALSE; |
| 21 | ::GetFileAttributesEx(_szFile, GetFileExInfoStandard, &fInfo); |
| 22 | |
| 23 | if ((_dwNotifyFilter & FILE_NOTIFY_CHANGE_SIZE) && (fInfo.nFileSizeHigh != _lastFileInfo.nFileSizeHigh || fInfo.nFileSizeLow != _lastFileInfo.nFileSizeLow)) { |
| 24 | rValue = TRUE; |
| 25 | } |
| 26 | |
| 27 | if ((_dwNotifyFilter & FILE_NOTIFY_CHANGE_LAST_WRITE) && (fInfo.ftLastWriteTime.dwHighDateTime != _lastFileInfo.ftLastWriteTime.dwHighDateTime || fInfo.ftLastWriteTime.dwLowDateTime != _lastFileInfo.ftLastWriteTime.dwLowDateTime)) { |
| 28 | rValue = TRUE; |
| 29 | } |
| 30 | |
| 31 | if (rValue) |
| 32 | { |
| 33 | m_lastFileSize = getFileSize(_lastFileInfo); |
| 34 | } |
| 35 | _lastFileInfo = fInfo; |
| 36 | |
| 37 | if (rValue) |
| 38 | { |
| 39 | m_curFileSize = getFileSize(_lastFileInfo); |
| 40 | } |
| 41 | return rValue; |
| 42 | } |
| 43 | |
| 44 | void DectFileChanges::AddFile(LPCTSTR szFile, DWORD dwNotifyFilter) |
| 45 | { |