ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Win32 API 1강. 프로그래밍 기초
    Win32 API with 나우캠퍼스 2022. 8. 6. 14:58

    목차.

    1. Win32 API 프로그래밍 개요

    2. 프로그래밍 구조 비교

    3. 윈도우 데이터형

    4. 인스턴스와 핸들

    5. 헝가리언 표기법

     

    1. Win32 API 프로그래밍 개요

    ▩ Win32 API 프로그래밍이란?

    윈도우 운영체제가 제공하는 함수를 이용한 C언어 기반의 프로그래밍

      프로그래밍 방식의 변화

    - 윈도우 운영체제 이전

     프로그래밍이 운영체제를 제어 모든 프로그래밍을 프로그래머가 전담(키보드, 마우스 등을 직접 프로그래밍 -> 메모리 상주 프로그램, BIOS)

     

    - 윈도우 운영체제 이후

    운영 체제로부터 모든 정보를 얻는다.

    메시지 방식 => 정보를 알려줌

     

    2. 프로그래밍 구조 비교

      프로그래밍 형식의 변화

    - C/C++ 콘솔 프로그래밍의 경우

    프로그램이 실행되면 main()를 찾아서 실행함.

     

    - Win32 API의 경우

    WinMain() : 응용 프로그램이 실행되면 윈도우를 생성함.

    WinProc() : WinMain()안에서 작동하며 윈도우 프로시져라고 하는 함수를 OS에 등록함.(메시지 처리)

     

    ▩  키 입력 받는 프로그래밍

    - C 언어 코드

    - Win32 API 윈도우 프로그래밍 코드

     

    ▩ 윈도우 명칭

    일반적인 윈도우창 화면에서 최소화, 최대화, 닫기, 메뉴바, 시스템 메뉴, 클라이언트 영역 등등..

     

    3. 윈도우 데이터형

    ▩  C/C++언어 데이터형

    char, shrot, int ,long, float, double, long double, bool

     

    ▩ Win32 API 데이터형

    기존의 C/C++의 데이터형을 #define을 통해 재정의하였고, 그 종류는 매우 많기 때문에 필요할 때 마다 msdn문서를 참조하면 된다.

    https://docs.microsoft.com/ko-kr/windows/win32/winprog/windows-data-types

     

    Windows 데이터 형식(BaseTsd.h) - Win32 apps

    Windows 지원하는 데이터 형식은 함수 반환 값, 함수 및 메시지 매개 변수 및 구조체 멤버를 정의하는 데 사용됩니다.

    docs.microsoft.com

     

     

    4. 인스턴스와 핸들(★★★★★)

    ▩ 운영체제는 멀티 태스킹(multi tasking) 운영체제이다.

    ▩ 운영체제가 응용 프로그램을 실행 또는 구분하는 방법

    인스턴스(instance)와 핸들(handle)

    인스턴스와 핸들의 실체?

     

    ▩ 인스턴스?

    - 응용 프로그램 아이디

    - 같은 종류의 프로그램은 같은 인스턴스를 가진다.

     

    ▩  핸들?

    - 운영체제에서 할당한 자원의 아이디(윈도우, 펜 브러쉬 등)

     

    ▩ 공통점

    1) 운영체제에서 할당하는 값

    2) 중복되지 않느 값 -> 아이디 속성

     

    ▩ 윈도우 프로그래밍 할 때 가장 중요한 것

    핸들 handle

    HWND, HDC, HPEN, HBRUSH 등...

    모두 void* 형으로 정의되어 있음.

     

    5. 헝가리언 표기법

    ▩ 헝가리언 표기법

    변수명 또는 함수명의 명명 규칙

    관례적으로 사용

    변수명만으로 용도 파악이 용이

    ▩ 사용 방법?

    - 의미 있는 단어를 연결하되 첫 문자는 대문자

    (Person + Count = PersonCount)

    - 데이터형을 의미하는 접두사를 붙임

    (fCount, nNumber...)

     

    ▩ 변수명에 붙인은 접두사

    bool : b

    char : ch, c

    int, short : n

    long : l

    flaot : f

    double : d

    배열 : a

    DWORD : dw

    문자열 : str

    포인터 : p

    핸들 : h

    전역변수 : g_

    윈도우메시지 : msg

     

Designed by Tistory.