디시인사이드 갤러리

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

갤러리 본문 영역

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

미샤(211.104) 2013.03.07 23:31:24
조회 120 추천 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 - -
348415 윈도우8 의  「주의점」   2가지 [1] 때릴꺼야?(116.40) 13.03.08 183 0
348414 진로 관련 상담좀 부탁드리겟습니다 ㅠㅠ 앙망합니다(119.195) 13.03.08 71 0
348411 배열판 특수문자로 못만드냐? [4] ㅁㄴㅇㄹ(58.143) 13.03.08 84 0
348410 단일스레드에 안전하다는게 무슨 의미임? [4] 부스타(175.197) 13.03.08 131 0
348409 c++에서 예외처리를 어디에 적용해야됨? [2] sadas(110.15) 13.03.08 73 0
348408 이런 앱 어떰 [3] 네로시엔갤로그로 이동합니다. 13.03.08 96 0
348407 대학 임베디드 아이티과 어떰? [4] Macau갤로그로 이동합니다. 13.03.08 72 0
348406 dll을 사용한 C를 ndk로 안드로이드에 포팅 못하지? [3] 이힛(210.125) 13.03.08 85 0
348404 힘든점!!! [1] 하우냐겅갤로그로 이동합니다. 13.03.08 52 0
348403 전역으로 키보드 훅을 걸었는데 말이야 [1] 11111(14.43) 13.03.08 71 0
348402 게임프로그래밍은 어디 대학이 유명한가요? [9] 작은배때지(220.125) 13.03.08 186 0
348401 true false 계산기 어떄 [26] 프갤러(124.197) 13.03.08 219 0
348400 만약 게임 주인공들이 ㅂㄱㅂㄱ를 한다면? [1] 멍청닭(182.211) 13.03.08 111 0
348399 만약 전세계에 ddr이 금지 된다면?? [1] 멍청닭(182.211) 13.03.08 92 0
348398 source control을 도입하지도 않는 회사.. [2] 일광면(121.177) 13.03.08 109 0
348397 코딩 스타일에 관해 한 가지 더 [3] ㅇㅇ(119.203) 13.03.08 208 1
348396 mysql 한테이블에 필드가 많으면 성능떨어짐? [7] qwew(175.215) 13.03.08 86 0
348395 원서랑 번역본이 같은 판(에디션)이면 굳이 원서 살필요없져? [7] ㅇㅇ(121.161) 13.03.08 102 0
348394 c로 시작해서 c로 끝판왕 봐서 c로만 먹고사는사람있을까? [3] zubuntu(121.186) 13.03.08 180 0
348393 대딩 졸업반이다 [6] mk(121.186) 13.03.08 155 0
348392 플밍갤러리 말고 다른곳에서 입털곳 없냐 [1] ㅔㅔ(121.186) 13.03.08 65 0
348391 안드로이드 채팅만드는데 한글이깨진다 [128] 채팅(110.47) 13.03.08 406 0
348390 잠 안오는 사람들을 위해 크라우드 소싱 썰 하나 풀고 꺼짐 [5] ㅇㅇ(119.203) 13.03.08 239 0
348389 그래픽스가 대학원 과정이라니 ㅋㅋㅋ [1] ㅇㅇ(119.203) 13.03.08 163 0
348388 북한제재 유엔 만장일치! ㅇㅇ(115.41) 13.03.08 51 0
348387 리본 인터페이스는 라이센스 따로 없나요?? [6] ㅇㅇㅇ(110.35) 13.03.08 68 0
348386 임베디드 회로쪽도 능숙하면 좋나요? [5] ㅇㅇ(115.41) 13.03.08 111 0
348385 크라우드 소싱 아는 사람? (crowd sourcing) ㅇㅇ(119.203) 13.03.08 56 0
348384 니들 여기 아냐? [9] ㅇㅇ(119.203) 13.03.08 196 0
348383 파일입출력 골라줘 [2] ?(175.203) 13.03.08 65 0
348381 대학 임베디드 아이티과 어떰? [8] Macau갤로그로 이동합니다. 13.03.07 111 0
348380 opencv 잘하는횽 있나요? [12] dd(210.94) 13.03.07 124 0
348379 내일 공룡책사러 강남교보문고 갑네다 [1] 인이어갤로그로 이동합니다. 13.03.07 84 0
348378 딴 사람이 문제 좀 내봐라. [14] ㅇㅇ(119.203) 13.03.07 147 0
348377 퇴갤함 [1] 백이.갤로그로 이동합니다. 13.03.07 41 0
348376 C언어 공부 수월하게 할려면 수학을 어느정도 까지 해야할까요 ?? [3] 인이어갤로그로 이동합니다. 13.03.07 161 0
348375 아오 대학가고싶엇는데 걍 취업해야겟다; 웹프어떰? 광릉불고기(222.237) 13.03.07 80 0
348374 책볼때 어케 보냐 [3] 시옷(121.186) 13.03.07 65 0
공학도 형들 .. C++ win32 API베이스코드인데 좀 봐주세요 [4] 미샤(211.104) 13.03.07 120 0
348371 근데 어차피 자바로 갈꺼면 [1] ㄴㄴㄴㅇ(121.186) 13.03.07 72 0
348370 랭귀지 공부할때 어케들 함? [4] sdd(121.186) 13.03.07 75 0
348367 빨리 java 배우고싶은데 백이.갤로그로 이동합니다. 13.03.07 47 0
348366 jsp만으로는 안되겠지? ㅈㅣㄷㅏ(121.186) 13.03.07 39 0
348365 Level 1 퀴즈. [1] ㅇㅇ(119.203) 13.03.07 89 0
348363 여기 전자과나와서 컴퓨터쪽으로 일하고있는사람 없으심?? [3] ㅋㅋ(218.236) 13.03.07 100 0
348362 Level 5. 퀴즈 [6] ㅇㅇ(119.203) 13.03.07 135 0
348361 한국it전문대 수준이 어떻길래? [1] 작은배때지(220.125) 13.03.07 118 0
348360 Level 0. 퀴즈 [8] ㅇㅇ(119.203) 13.03.07 141 0
348358 개학 효과인가 좆대딩들 넘쳐나네 [2] ASAP(116.33) 13.03.07 68 0
348356 코뿔소 책 보는데 다들 얼마나 걸림? [2] ㄴㄴㄴ(121.186) 13.03.07 63 0
뉴스 빅뱅 대성, 호주 멜버른 콘서트 취소 "기술 관련 문제" 디시트렌드 07.17
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2