-
win32api란?Windows Programming/Win32API 란? 2022. 3. 11. 15:40
win32api는 window기반 os에서 작동하는 어플리케이션을 구현 하는 것
win32 API에서 제공하는 함수들을 이용해서 프로그램을 작성
OS한테 직접 명령을 내릴수 있는 함수 (네이티브,저수준)
ex)우리가 누구와 소통을 할때 중간에 다른 사람을 거쳐 대화 하는것이 아닌 직접 대화하는것
장점-윈도우즈os에서 할수 있는 모든것을 구현 할수 있다.
단점-처음부터 끝까지 일일이 직접 구현해야 한다.
공부 목적
1.Windows Programming 이해(GrapgicUI):(ConsoleUI)
-skeleton(기본코드)
-event 기반 프로그래밍 기법
API는 응용프로그램을 위한 함수 집합을 제공
우리는 API를 통해 커널과 소통을 할 수 있다.
API는 크게 3개의 모듈로 구분 할 수있다.
GDI: 그래픽 요소 뭔가 화면에 출력하고자 할때 필요한 도구와 함수들
UI: 사용자와의 커뮤니케이션
도스프로그래밍과 윈도우프로그래밍의 차이점
-프로그램 흐름
도스프로그램: 절차적(또는 순차적)
프로그램의 실행 흐름이 프로그래머가 기술한 코드의 순서에 따라 진행한다.
윈도우 프로그램: 이벤트 구동방식 또는 메시지 처리 방식
프로그램의 실행 흐름을 윈도우 시스템과 일을 분담하여 처리
외부에서 일어나는 일을 윈도우 시스템이 감지하여 해당 프로그램에 메시지를 전달하여 준다.
프로그램은 이에 대한 처리만 한다.
프로그램이 한결 수월해 진다.
OS의 역할
Event기반
이벤트는 전기적인 신호가 발생하게되면 드라이버를 통해 메시지로 바뀜
예를 들어 마우스 클릭 이벤트를 발생 시키면 마우스 디바이스 드라이버를 통해 메시지로 바뀌고
시스템 큐로 메시지가 들어가게 된다.
그후 이벤트 분배기를 통해 각각의 이벤트를 발생시킨 타겟 어플리케이션 프로그램으로 들어감
들어간 메시지는 각각의 어플리케이션 큐에 쌓이게 된다.
이러한 역할들을 해주는게 OS이다.
우리는 이다음부터 코드를 만들면 된다
크게 2가지
1.시작함수(WinMain)
-윈도우를 생성, 자신의 어플리케이션큐 에서 메시지를 획득하여 처리 함수에 전달
2.메시지 처리함수(WinProc)
-획득한 메시지를 처리
'Windows Programming > Win32API 란?' 카테고리의 다른 글
DC와 무효화 영역 (0) 2022.03.28 PeekMessage() (0) 2022.03.24 윈도우 핸들(HWND) (0) 2022.03.20 WinMain과 프로시저,메시지큐 (0) 2022.03.18