Winapi기초

<윈도우 창 생성과 메시지 처리과정>

1)변수명명법.

cb/count of bytes 바이트 수

dw/double word 부호없는 long형 정수

h/handle 윈도우, 비트맵, 파일등의 핸들

sz/Null terminated NULL 종료 문자열

w/Word 부호없는 정수형

i/Integer 정수형

b/Boll 논리형

  1. WinMain함수에서의 인스턴스

예를 들어, 각각의 프로그램을 프로그램 인스턴스라고 하며, 줄여서 그냥 인스턴스라고도 한다. 메모장 프로그램 2개를 실행시키면, 각각 다른 메모리를 사용하는 다른 프로그램으로 인식한다. (서로 다른 핸들을 가지고 있다)

  1. WndProc VS WinMain

WinMain에서는 창을 만들고, 화면에 출력만 하지만, 대부분의 일은 WndProc에서 이루어진다. WndProc은 메시지가 입력되면, 윈도우즈에 의해 호출되면 메시지를 처리하는데, 이처럼 운영체제에 의해 호출되는 응용 프로그램 내의 함수를 콜백call_back함수라고 한다.

보통 다중 분기 구조로, 메시지의 종류에 따라 각각의 기능을 수행하는 구조로 동작한다.

  1. WinMain에서는 창을 만든다고 하였는데, 이를 위해선, CreateWindow함수가 필요하고, 많은 멤버변수를 가지고 있다. 윈도우에 관한 모든 정보를 메모리에 만든 후, 윈도우 핸들을 리턴값으로 넘겨준다. 넘겨지는 윈도우 핸들은 hWnd라는 지역변수에 저장되었다가, 윈도우를 참조하는 모든 함수의 인수로 사용된다.