mirror of
https://github.com/microsoft/PowerToys.git
synced 2024-12-21 07:17:56 +08:00
30 lines
766 B
C++
30 lines
766 B
C++
|
#include "window_helpers.h"
|
||
|
#include "pch.h"
|
||
|
|
||
|
HWND CreateMsgWindow(_In_ HINSTANCE hInst, _In_ WNDPROC pfnWndProc, _In_ void* p)
|
||
|
{
|
||
|
WNDCLASS wc = { 0 };
|
||
|
|
||
|
PCWSTR wndClassName = L"MsgWindow";
|
||
|
|
||
|
wc.lpfnWndProc = DefWindowProc;
|
||
|
wc.cbWndExtra = sizeof(void*);
|
||
|
wc.hInstance = hInst;
|
||
|
wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
|
||
|
wc.lpszClassName = wndClassName;
|
||
|
|
||
|
RegisterClass(&wc);
|
||
|
|
||
|
HWND hwnd = CreateWindowEx(
|
||
|
0, wndClassName, nullptr, 0, 0, 0, 0, 0, HWND_MESSAGE, 0, hInst, nullptr);
|
||
|
if (hwnd)
|
||
|
{
|
||
|
SetWindowLongPtr(hwnd, 0, (LONG_PTR)p);
|
||
|
if (pfnWndProc)
|
||
|
{
|
||
|
SetWindowLongPtr(hwnd, GWLP_WNDPROC, (LONG_PTR)pfnWndProc);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return hwnd;
|
||
|
}
|