프로그래밍 기술/Windows API

1. Windows API 소개

언제나휴일 2016. 4. 6. 13:21
반응형

1. Windows API 소개

Windows API Microsoft 사의 Windows 운영체제에서 제공하는 자료 형식과 기능을 포함하는 시스템 라이브러리입니다.

Windows는 윈도우즈 운영체제를 의미하며 API Applicataion Program Interface의 약어로 응용 프로그램 인터페이스를 뜻합니다. 인터페이스가 특정 기능을 제공함을 약속하는 것이므로 API는 응용 프로그램을 작성할 때 사용하는 기능입니다. 따라서 Windows API는 응용 프로그램을 개발할 때 사용할 수 있게 Windows 운영체제에서 제공하는 라이브러리입니다.

운영체제에서 제공하는 라이브러리에는 기능과 함께 다양한 형식들을 제공하고 있습니다. 특히 운영체제에서 제공하는 기능을 시스템 호출이라고 부릅니다. 일반적으로 응용 프로그램을 작성할 때 운영체제에서 제공하는 기능을 호출하는 것이 정방향이며 이를 시스템 호출이라고 부릅니다.

그런데 윈도우즈 운영체제에서 개발하는 응용 프로그램은 GUI(Graphical User Interface) 형태로 작성할 때가 대부분입니다. GUI 형태의 응용 프로그램에서는 프로세스의 윈도우 창이나 컨트롤들에 마우스 클릭이나 키보드 누름 등의 사건이 발생하는 것에 따라 원하는 동작을 수행할 수 있어야 합니다. 하지만 모든 프로세스가 컴퓨터 시스템에서 발생하는 모든 사건을 모니터링한다면 시스템 성능은 떨어지겠죠.

윈도우즈 운영체제에서는 효과적인 시스템 사용을 위해 마우스 클릭이나 키보드 누름 등의 사건이 발생하는 것은 운영체제가 담당합니다. 대신 특정 사건이 발생하면 이 사건을 처리해야 할 프로세스(보다 정확히 얘기한다면 소유 스레드)에게 발생한 사건과 사건 처리에 필요한 정보를 메시지 형태로 전달합니다. 그리고 응용 프로세스에서는 자신의 메시지 큐에 도착한 메시지를 꺼내와서 프로그램에 작성한 방식으로 처리합니다. 이 때 윈도우 메시지를 꺼내와서 처리하는 함수를 윈도우 콜백 프로시저라고 말합니다. 여기에서 콜백은 응용 프로그램이 시스템의 기능을 호출하는 방향과 역방향으로 호출한다는 의미입니다.


윈도우 메시지

[그림 1] 윈도우 메시지

반응형