Win32で最低限のウィンドウを表示する。
メモ
#define WINWIDTH 300 #define WINHEIGHT 300 RECT rec; LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp) { switch (msg) { case WM_DESTROY: PostQuitMessage(0); return 0; } return DefWindowProc(hwnd, msg, wp, lp); } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR lpCmdLine, int nCmdShow) { MSG msg; WNDCLASS winc; HWND hDeskWnd = GetDesktopWindow(); GetWindowRect(hDeskWnd, &rec); winc.style = CS_HREDRAW | CS_VREDRAW; winc.lpfnWndProc = WndProc; winc.cbClsExtra = winc.cbWndExtra = 0; winc.hInstance = hInstance; winc.hIcon = LoadIcon(NULL, IDI_APPLICATION); winc.hCursor = LoadCursor(NULL, IDC_ARROW); winc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); winc.lpszMenuName = NULL; winc.lpszClassName = TEXT("DECOY"); if (!RegisterClass(&winc)) { return 0; } HWND hwnd = CreateWindow( TEXT("DECOY"), TEXT("win32"), WS_OVERLAPPEDWINDOW | WS_VISIBLE, (rec.right - WINWIDTH) / 2, (rec.bottom - WINHEIGHT) / 2, WINWIDTH, WINHEIGHT, NULL, NULL, hInstance, NULL ); if (hwnd == NULL) return 0; while (GetMessage(&msg, NULL, 0, 0)) { DispatchMessage(&msg); } return msg.wParam; }