mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-04 10:16:24 +02:00
[Workspaces] Handle admin windows repositioning. (#34965)
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
#pragma once
|
||||
|
||||
class WindowCreationHandler
|
||||
{
|
||||
public:
|
||||
WindowCreationHandler(std::function<void(HWND)> windowCreatedCallback);
|
||||
~WindowCreationHandler();
|
||||
|
||||
private:
|
||||
static inline WindowCreationHandler* s_instance = nullptr;
|
||||
std::vector<HWINEVENTHOOK> m_staticWinEventHooks;
|
||||
std::function<void(HWND)> m_windowCreatedCallback;
|
||||
|
||||
void InitHooks();
|
||||
void HandleWinHookEvent(DWORD event, HWND window) noexcept;
|
||||
|
||||
static void CALLBACK WinHookProc(HWINEVENTHOOK winEventHook,
|
||||
DWORD event,
|
||||
HWND window,
|
||||
LONG object,
|
||||
LONG child,
|
||||
DWORD eventThread,
|
||||
DWORD eventTime)
|
||||
{
|
||||
if (s_instance)
|
||||
{
|
||||
s_instance->HandleWinHookEvent(event, window);
|
||||
}
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user