Loading AI tools
마이크로소프트 윈도우 운영 체제들이 사용하는 API 위키백과, 무료 백과사전
윈도우 API(Windows API, WinAPI)는 마이크로소프트 윈도우 운영 체제들이 사용하는 API이다. C/C++ 프로그램에서 직접 운영 체제와 상호 작용할 수 있도록 만들어졌으며, 그보다 더 낮은 수준의 제어는 Ntdll.dll을 사용한 낮은 수준의 DLL로 가능하다.
윈도우 API가 제공하는 기능은 다음과 같이 여덟 가지이다.[1]
kernel.exe
, krnl286.exe
, krnl386.exe
파일에, 32비트 윈도우의 경우 kernel32.dll
에 상주한다.advapi32.dll
에 상주한다.gdi.exe
에, 사용자 모드에서의 32비트 윈도우의 경우 gdi32.dll
에 상주한다. 커널 모드 GDI 지원은 그래픽 드라이버와 직접 통신하는 win32k.sys
가 제공한다.[4]user.exe
에, 32비트 윈도의 경우 user32.dll
에 상주한다. 윈도우 XP 버전 이후로 기본 컨트롤은 공통 컨트롤(공통 컨트롤 라이브러리)과 함께 comctl32.dll
에 상주한다.commdlg.dll
에, 32비트 윈도의 경우 comdlg32.dll
에 상주한다. 이 라이브러리는 API의 "사용자 인터페이스" 집합에 들어 있다.commctrl.dll
에, 32비트 윈도의 경우 comctl32.dll
에 상주한다. 이 라이브러리는 API의 "사용자 인터페이스" 집합에 들어 있다.shell.dll
에, 32비트 윈도의 경우 shell32.dll
에 상주한다. 셸 라이트웨이트(Shell Lightweight) 유틸리티 기능은 shlwapi.dll
에 있다. 이 라이브러리는 API의 "사용자 인터페이스" 집합에 들어 있다.인터넷 익스플로러 웹 브라우저 또한 응용 프로그램에 자주 쓰이는 수많은 API를 노출하며 이러한 것들은 윈도 API의 일부로 간주할 수 있다. 인터넷 익스플로러는 윈도우 98 SE 이후의 운영 체제부터 포함되어 왔으며 윈도우 98 이후로 웹 관련 서비스를 제공하고 있다.[11] 구체적으로 다음과 같은 가능을 제공하는 데에 쓰인다:
shdocvw.dll
및 mshtml.dll
에 포함되어 있음.urlmon.dll
가 관할함. 응용 프로그램은 자체 URL 핸들러를 제공할 수 있다.msxml*.dll
가 관할).#include <Windows.h>
#include <tchar.h>
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
MessageBox(NULL, TEXT("Hello, world"), TEXT("App"), MB_OK);
return 0;
}
마이크로소프트는 윈도우 95 OSR2 이후로 DirectX 집합의 API를 모든 윈도 설치본의 일부로 제공하고 있다. DirectX는 멀티미디어와 게임 서비스를 제공한다:
모든 윈도 운영 체제들은 버전마다 새로운 API 함수를 추가했으나 이들을 가리키는 이름은 구조가 크게 변화할 때만 바뀌었다. 나중에 마이크로소프트는 이전 버전과 현재 버전, 그리고 나중에 발표될 버전의 API를 통틀어서 ‘윈도 API’라는 이름으로 부르기 시작했다.
마이크로소프트의 윈도 API 구현물은 저작권으로 보호 받지만, 일반적으로 이 구현물을 모방하여 독자적인 구현물을 만들면 법적인 문제를 피할 수 있다고 알려져 있다. 대표적으로 와인(Wine) 프로젝트는 유닉스 계열 운영 체제에서 Win32의 호환성 계층을 구현하고 있으며, 더 나아가 ReactOS는 와인의 많은 부분을 함께 쓰면서 완전한 윈도 운영 체제를 모방하고 있다.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.