#include <windows.h>
HWND create_invisible_window(LPCTSTR lpszClassName,
LRESULT (CALLBACK* WndProc)(HWND, UINT, WPARAM, LPARAM),
HINSTANCE hInstance)
{
HWND hWnd = NULL;
WNDCLASSEX wx = {0};
wx.cbSize = sizeof(WNDCLASSEX);
wx.lpfnWndProc = WndProc;
wx.hInstance = hInstance;
wx.lpszClassName = lpszClassName;
if (RegisterClassEx(&wx)) {
hWnd = CreateWindowEx(0, lpszClassName, lpszClassName, 0, 0, 0, 0, 0,
HWND_MESSAGE, NULL, NULL, NULL );
}
return hWnd;
}
static BOOL delete_invisible_window(HWND hWnd, LPCTSTR lpszClassName,
HINSTANCE hInstance)
{
BOOL r;
r = DestroyWindow(hWnd);
r &= UnregisterClass(lpszClassName, hInstance);
return r;
}