mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-06-07 09:28:03 +08:00

* 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.
20 lines
431 B
C++
20 lines
431 B
C++
#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();
|
|
};
|