[FancyZones] Implement File Watcher (#8603)

* Implement File Watcher in FancyZones

* Simplify code, address PR comments

* Add check to result of CreateEventW

* Rebase fix

Removed unneeded newline. If we keep it now, VS will just remove it some other time.
This commit is contained in:
Ivan Stošić
2020-12-16 14:53:48 +01:00
committed by GitHub
parent 540e16b179
commit e2ca4177dd
7 changed files with 118 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
#pragma once
#include "pch.h"
class FileWatcher
{
DWORD m_refreshPeriod;
std::wstring m_path;
std::optional<FILETIME> m_lastWrite;
std::function<void()> m_callback;
HANDLE m_abortEvent;
std::thread m_thread;
std::optional<FILETIME> MyFileTime();
void Run();
public:
FileWatcher(const std::wstring& path, std::function<void()> callback, DWORD refreshPeriod = 1000);
~FileWatcher();
};