-
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
'Win32 API with 나우캠퍼스' 카테고리의 다른 글
Win32 API 3강. 리소스(resource) - 메뉴 및 문자열 리소스 (0) 2022.08.13 Win32 API 3강. 리소스(resource) - 커서 (0) 2022.08.13 Win32 API 3강. 리소스(resource) - 아이콘 (0) 2022.08.13 Win32 API 3강. 리소스(resource) (0) 2022.08.13 Win32 API 2강. 프로그래밍 구조 (0) 2022.08.06