#include <stdio.h>
#include <wtypes.h>
#include <string.h>
#include <wtypes.h>
#include <string.h>
//extern
HINSTANCE hookInst;
static LRESULT CALLBACK WndProc(HWND hWnd, UINT message,WPARAM wParam, LPARAM lParam)
{
switch (message)
{
default:
DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
HWND CreateWnd()
{
WNDCLASSEX wc;
HWND tmp;
static BOOL reg = FALSE;
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = (WNDPROC)WndProc;
wc.hInstance = hookInst;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)COLOR_WINDOW;
wc.lpszClassName = "AnyWnd";
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.lpszMenuName = "Menu";
wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
if (!reg)
{
if (!RegisterClassEx(&wc))
{
DWORD err = GetLastError();
return NULL;
}
}
reg = TRUE;
tmp = CreateWindowEx(NULL,"AnyWnd","",
WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,
CW_USEDEFAULT,CW_USEDEFAULT,
CW_USEDEFAULT,NULL,NULL,hookInst,NULL);
return tmp;
}
DWORD WINAPI MessageLoop(LPVOID pParam)
{
MSG msg;
HWND hWnd;
hWnd = CreateWnd();
while (GetMessage(&msg, hWnd, NULL, NULL))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}