블로그 이미지
vee

카테고리

분류 전체보기 (17)
void (1)
Information (0)
Develop (5)
Linux (3)
Hardware (3)
Operating system (5)
Total
Today
Yesterday

달력

« » 2026.7
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

공지사항

최근에 올라온 글

 

Windows Application Programming Interface

Windows API

 

Textbook – Windows API 정복 개정판 (한빛미디어, 김상형)

 

첫 번째 예제 – 기본 윈도우 띄우기

 

Source code

#include <Windows.h>

 

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

HINSTANCE g_hInst;

LPCTSTR lpszClass=TEXT("First API project");

 

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdParam, int nCmdShow)

{

    HWND hWnd;

    MSG Message;

    WNDCLASS WndClass;

    g_hInst=hInstance;

 

    WndClass.cbClsExtra=0;

    WndClass.cbWndExtra=0;

    WndClass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);

    WndClass.hCursor=LoadCursor(NULL, IDC_ARROW);

    WndClass.hIcon=LoadIcon(NULL, IDI_APPLICATION);

    WndClass.hInstance=hInstance;

    WndClass.lpfnWndProc=WndProc;

    WndClass.lpszClassName=lpszClass;

    WndClass.lpszMenuName=NULL;

    WndClass.style=CS_HREDRAW|CS_VREDRAW;

    RegisterClass(&WndClass);

 

    hWnd=CreateWindow(lpszClass, lpszClass, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, (HMENU)NULL, hInstance, NULL);

    ShowWindow(hWnd, nCmdShow);

 

    while(GetMessage(&Message, NULL, 0, 0))

    {

        TranslateMessage(&Message);

        DispatchMessage(&Message);

    }

    return (int)Message.wParam;

}

 

LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam)

{

    switch(iMessage)

    {

    case WM_DESTROY:

        PostQuitMessage(0);

        return 0;

    }

    return(DefWindowProc(hWnd, iMessage, wParam, lParam));

}

 

Compile

Posted by vee
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함