とくにあぶなくないRiSKのブログ

危ないRiSKのブログだったかもしれない。本当はRiSKだけどググラビリティとか取得できるIDの都合でsscriskも使ったり。

Windows プログラミング入門

閉じられるだけのシンプルなウインドウを作る。

#include<windows.h>
#include<tchar.h>

LRESULT CALLBACK window_proc(HWND hwnd, UINT msg, WPARAM w, LPARAM l)
{
 switch(msg)
 {
 case WM_DESTROY:
  PostQuitMessage(0);
  return 0;
 default:
  return DefWindowProc(hwnd, msg, w, l);
 }
}

int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE, LPSTR, int cmd_show)
{
 WNDCLASSEX const wc = {
  sizeof(wc), CS_HREDRAW | CS_VREDRAW, window_proc, 0, 0, hinstance, 0,
  LoadCursor(NULL, IDC_ARROW), reinterpret_cast<HBRUSH>(COLOR_WINDOW+1),
  NULL, _T("my_window_class"),  0
 };
 HWND const hwnd = CreateWindow(
  MAKEINTRESOURCE(RegisterClassEx(&wc)), _T("my_title"), WS_OVERLAPPEDWINDOW,
  CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hinstance, NULL);
 ShowWindow(hwnd, cmd_show);
 MSG msg = {};
 for(; GetMessage(&msg, hwnd, 0, 0) > 0; DispatchMessage(&msg))
  TranslateMessage(&msg);
 return static_cast<int>(msg.wParam);
}