📄 filewatcher.h
字号:
#pragma once
#include <string>
#include <vector>
#define _WIN32_WINNT 0x0501
#include <windows.h>
#include <time.h>
class FileWatcher
{
public:
FileWatcher(const std::string& directoryToWatch);
~FileWatcher();
bool Update();
typedef std::vector< std::string > StringVec;
typedef void (*ChangedFileSetCallback)(const StringVec &);
void InstallChangedFileSetCallback(ChangedFileSetCallback cb) { m_cb = cb; }
private:
bool Listen();
void UpdateReportTiming();
void ReportChangedFile(const std::string& filename);
HANDLE m_directoryHandle;
HANDLE m_notifyEvent;
OVERLAPPED m_overlappedIo;
char *m_notifyResults;
StringVec m_pendingChangedFiles;
__time64_t m_timeOfFirstPendingChange;
bool m_timing;
ChangedFileSetCallback m_cb;
private:
FileWatcher(const FileWatcher&);
FileWatcher& operator =(const FileWatcher&);
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -