본문 바로가기
컴퓨터

윈도우 생성

by 루이보스 스타 2007. 6. 8.

1. 새 프로젝트 생성

 

2. win32 application 프로젝트로 생성

 

3. An empty project 생성

 

4. 새 파일 C++ Source File 선택해서 파일 생성

 

5. 열려진 창에 다음과 같이 입력

 

#include <windows.h>

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
HINSTANCE g_hInst;
LPSTR lpszClass = "First";

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.hIcon = LoadIcon(NULL, IDI_APPLICATION);
 WndClass.hInstance = hInstance;
 WndClass.lpfnWndProc = (WNDPROC)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, 0,0,0)) {
  TranslateMessage(&Message);
  DispatchMessage(&Message);

 }
 return 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));

}

 

 

그리고 컴파일 시키고 하면 윈도우 창이 하나 뜬다고 한다.

 

우리집 컴퓨터로는 아무리 해봐도 프로세스는 생성이 되는데 화면에 창이 보이진 않는다.

 

위에 있는 코드....

너무 복잡하다.

 

'컴퓨터' 카테고리의 다른 글

자바스크립트(JavaScript)  (0) 2008.01.31
윈도우 클래스  (0) 2007.06.27
아래 소스 분석  (0) 2007.06.10
내가 만든 그림판  (0) 2007.06.05
핸들(handle)  (0) 2007.06.04