디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

공학도 형들 .. C++ win32 API베이스코드인데 좀 봐주세요

미샤(211.104) 2013.03.07 23:31:24
조회 119 추천 0 댓글 4

// hhhhh.cpp : 응용 프로그램에 대한 진입점을 정의합니다.
//

#include "stdafx.h"
#include "hhhhh.h"

#define MAX_LOADSTRING 100

// 전역 변수:
HINSTANCE hInst;        // 현재 인스턴스입니다.
TCHAR szTitle[MAX_LOADSTRING];     // 제목 표시줄 텍스트입니다.
TCHAR szWindowClass[MAX_LOADSTRING];   // 기본 창 클래스 이름입니다.

// 이 코드 모듈에 들어 있는 함수의 정방향 선언입니다.
ATOM    MyRegisterClass(HINSTANCE hInstance);
BOOL    InitInstance(HINSTANCE, int);
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);

int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
 UNREFERENCED_PARAMETER(hPrevInstance);
 UNREFERENCED_PARAMETER(lpCmdLine);

  // TODO: 여기에 코드를 입력합니다.
 MSG msg;
 HACCEL hAccelTable;

 // 전역 문자열을 초기화합니다.
 LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
 LoadString(hInstance, IDC_HHHHH, szWindowClass, MAX_LOADSTRING);
 MyRegisterClass(hInstance);

 // 응용 프로그램 초기화를 수행합니다.
 if (!InitInstance (hInstance, nCmdShow))
 {
  return FALSE;
 }

 hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_HHHHH));

 // 기본 메시지 루프입니다.
 while (GetMessage(&msg, NULL, 0, 0))
 {
  if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
  {
   TranslateMessage(&msg);
   DispatchMessage(&msg);
  }
 }

 return (int) msg.wParam;
}

 

//
//  함수: MyRegisterClass()
//
//  목적: 창 클래스를 등록합니다.
//
//  설명:
//
//    Windows 95에서 추가된 'RegisterClassEx' 함수보다 먼저
//    해당 코드가 Win32 시스템과 호환되도록
//    하려는 경우에만 이 함수를 사용합니다. 이 함수를 호출해야
//    해당 응용 프로그램에 연결된
//    '올바른 형식의' 작은 아이콘을 가져올 수 있습니다.
//
ATOM MyRegisterClass(HINSTANCE hInstance)
{
 WNDCLASSEX wcex;

 wcex.cbSize = sizeof(WNDCLASSEX);

 wcex.style   = CS_HREDRAW | CS_VREDRAW;
 wcex.lpfnWndProc = WndProc;
 wcex.cbClsExtra  = 0;
 wcex.cbWndExtra  = 0;
 wcex.hInstance  = hInstance;
 wcex.hIcon   = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_HHHHH));
 wcex.hCursor  = LoadCursor(NULL, IDC_ARROW);
 wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
 wcex.lpszMenuName = MAKEINTRESOURCE(IDC_HHHHH);
 wcex.lpszClassName = szWindowClass;
 wcex.hIconSm  = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));

 return RegisterClassEx(&wcex);
}

//
//   함수: InitInstance(HINSTANCE, int)
//
//   목적: 인스턴스 핸들을 저장하고 주 창을 만듭니다.
//
//   설명:
//
//        이 함수를 통해 인스턴스 핸들을 전역 변수에 저장하고
//        주 프로그램 창을 만든 다음 표시합니다.
//
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
   HWND hWnd;

   hInst = hInstance; // 인스턴스 핸들을 전역 변수에 저장합니다.

   hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
      CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);

   if (!hWnd)
   {
      return FALSE;
   }

   ShowWindow(hWnd, nCmdShow);
   UpdateWindow(hWnd);

   return TRUE;
}

//
//  함수: WndProc(HWND, UINT, WPARAM, LPARAM)
//
//  목적: 주 창의 메시지를 처리합니다.
//
//  WM_COMMAND - 응용 프로그램 메뉴를 처리합니다.
//  WM_PAINT - 주 창을 그립니다.
//  WM_DESTROY - 종료 메시지를 게시하고 반환합니다.
//
//
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
 int wmId, wmEvent;
 PAINTSTRUCT ps;
 HDC hdc;

 switch (message)
 {
 case WM_COMMAND:
  wmId    = LOWORD(wParam);
  wmEvent = HIWORD(wParam);
  // 메뉴 선택을 구문 분석합니다.
  switch (wmId)
  {
  case IDM_ABOUT:
   DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
   break;
  case IDM_EXIT:
   DestroyWindow(hWnd);
   break;
  default:
   return DefWindowProc(hWnd, message, wParam, lParam);
  }
  break;
 case WM_PAINT:
  hdc = BeginPaint(hWnd, &ps);
  // TODO: 여기에 그리기 코드를 추가합니다.
  EndPaint(hWnd, &ps);
  break;
 case WM_DESTROY:
  PostQuitMessage(0);
  break;
 default:
  return DefWindowProc(hWnd, message, wParam, lParam);
 }
 return 0;
}

// 정보 대화 상자의 메시지 처리기입니다.
INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
 UNREFERENCED_PARAMETER(lParam);
 switch (message)
 {
 case WM_INITDIALOG:
  return (INT_PTR)TRUE;

 case WM_COMMAND:
  if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
  {
   EndDialog(hDlg, LOWORD(wParam));
   return (INT_PTR)TRUE;
  }
  break;
 }
 return (INT_PTR)FALSE;
}



이거 각 코드별 설명 해석해야하는데

흐름도 모르겠고

참조 할수잇는 사이트나 도움좀 줄수잇어 ??

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 이번주 설문은 탈모 걱정 없어 보이는 머리숱 금수저 스타는? 운영자 25/07/14 - -
AD 휴대폰 액세서리 SALE 운영자 25/07/15 - -
349107 ㅇㅇ 니네 이럴때 있지 않냐? [1] GGDY(121.134) 13.03.13 73 0
349106 학원다닌다는 놈들 [1] LastCorona갤로그로 이동합니다. 13.03.13 108 0
349105 스잡 따라하는 삼성의 위엄 [3] ㅇㄴㅁㅇㄴㅁ(59.11) 13.03.13 225 0
349104 오빠 제 자취방 컴퓨터가 고장났는데요... [4] 에어로홍갤로그로 이동합니다. 13.03.13 143 0
349103 니들 소닉붐 이라고 알지? [2] iljeomobolt갤로그로 이동합니다. 13.03.13 111 0
349101 프로그래밍학원에서 배우는거 뭐가 가장적당함 [2] ㅇㅇ(220.78) 13.03.13 122 0
349100 이거 좀 봐줘봐 악마의 프로그램!!!!ㅅㅂ [3] 학생증(61.33) 13.03.13 194 0
349099 eclipse adt(android developer tools) 설치좀 [4] adt(1.251) 13.03.13 100 0
349098 명불허전 짱게 아이맥 카피 [1] 멍청닭(182.211) 13.03.13 86 0
349097 it학원다닐려고힙니다..질문있습니다 [3] (223.33) 13.03.13 133 0
349096 멍불허전 짱깨 카피켓 멍청닭(182.211) 13.03.13 66 0
349094 소켓통신 [1] dd(210.94) 13.03.13 63 0
349093 구글x폰이 안드로이드 5.0 전용으로 나온다는게 사실이냐!!!! [3] 멍청닭(182.211) 13.03.13 89 0
349092 소스코드를 통째로 넘겨 달라는 사람들은 뭘까? [3] 이모군(58.228) 13.03.13 161 0
349090 프갤 횽님들 이건 도대체 와 그라는겁니꽈 [4] 김삼디(110.9) 13.03.13 87 0
349089 프갤 형님들!! 함수이름 발음 어떻게하심??? [6] ㅇㅇ(58.126) 13.03.13 124 0
349088 횽들 그러면 cfile 에서 txt 파일내용 일부만 지우는 방법 없어? [2] 김삼디(110.9) 13.03.13 78 0
349087 c++ 책 다시 읽어봤다. [1] 이모군(58.228) 13.03.13 68 0
349086 이거좀 봐주시져... [2] 나라용갤로그로 이동합니다. 13.03.13 47 0
349085 님들 C++ 배울거면 C 따로 공부할 필요 있나요? [2] ㅁㄴㅇ(121.167) 13.03.13 120 0
349084 헐 방통대공부 프밍에 별로 도움안되나요? [12] 전문대생2(221.154) 13.03.13 257 0
349082 뭐냐고시발 [3] 때려쳐그냥갤로그로 이동합니다. 13.03.13 72 0
349081 위키가뭔가요 [1] 때려쳐그냥갤로그로 이동합니다. 13.03.13 40 0
349080 위키가뭔가여 [1] 때려쳐그냥갤로그로 이동합니다. 13.03.13 48 0
349079 근데 예전에 통합공지 있지않았음?? ㅁㅂ(203.241) 13.03.13 40 0
349078 정보보안 관련 라온화이트햇 여긴 어떠냐? [2] 옥탑방고양이갤로그로 이동합니다. 13.03.13 120 0
349077 학교는 vs2008 쓰는데 집에선 2012로 해도 상관없나여? [1] 1121(175.215) 13.03.13 109 0
349076 자바 변수 선언은 아무곳에서나 되는 이유가 뭐에요? [2] 도레미(115.145) 13.03.13 86 0
349075 보고 있는 책에서 자바스크립트가 JSP까지 먹을꺼라는데 사실임? [3] (164.125) 13.03.13 129 0
349074 으헝 횽들 그럼 이거 하나만 알려줘 ㅠㅠ [4] 김삼디(110.9) 13.03.13 136 0
349073 mfc 응용 프로그램 프로젝트 스타일이 없어요. 헬프 야간편돌이(175.116) 13.03.13 78 0
349072 횽들 다렉이나 옾지 좀 조언해줄수 있는 횽 있어? [7] gg요 (121.134) 13.03.13 89 0
349070 1TB가 원래 1,099,511,627,776 인데 [3] Margin Call갤로그로 이동합니다. 13.03.13 145 0
349069 윈7쓰시는분들 있음요?? 윈7쓰면 디씨가 이상함; [4] 야간편돌이(175.116) 13.03.13 111 0
349068 게임보안에 대해서 질문 [7] 부왘(223.33) 13.03.13 128 0
349067 횽님들 이것좀 알려주세요 ㅠㅠ [5] 김삼디(110.9) 13.03.13 100 0
349064 지금 생각해보니깐 죤나 이해 안가는 이유가 있는것같음 [16] 야간편돌이(175.196) 13.03.13 234 0
349063 입에횽 늦었지만 올려봄;; [5] 야간편돌이(175.196) 13.03.13 121 0
349061 형들 C++너무 어려워요 도와주세요 [10] 야간편돌이(175.196) 13.03.13 434 0
349060 자라 루비•‿•갤로그로 이동합니다. 13.03.13 48 0
349058 지금까지 x86이 64bit이라고 생각하고살았음 [5] ㅁㅂ(203.241) 13.03.13 185 0
349057 형들..... 도와줘..... ㅠㅠ [12] ㅁㅂ(203.241) 13.03.13 125 0
349056 와 진짜 기분넘좋아요 ㅋㅋ 인생 3대 난제중 1개가 풀려서 ㅋㅋㅋㅋ [4] ddd(1.247) 13.03.13 206 0
349055 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 루비•‿•갤로그로 이동합니다. 13.03.13 45 0
349054 프로그래밍하다, 코딩하다 이거두개 차이가뭐임? [9] ㅂㄷㅈㅈ(175.215) 13.03.13 284 0
349053 프갤형님들 정말 고맙습니다 열심히 공부하겠습니다ㅠㅠ [6] ddd(1.247) 13.03.13 110 0
349051 형들 1차원배열 공부하는중인데 뭐가 잘못됬는지 모르겠어요 [5] 늅늅(220.117) 13.03.13 108 0
349048 아 심심타. fm100(220.76) 13.03.13 48 0
349047 RGB 봐라 [18] 골쿵갤로그로 이동합니다. 13.03.13 187 0
349046 참 프로그래밍 모르겠네요 ㅠㅠ [1] 신입뉴비(115.126) 13.03.13 110 0
뉴스 “전세금 5억원 날려” 양치승, 결국 눈물의 폐업…“환불 받으시라” 디시트렌드 07.17
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2