Windows API๏ผใฆใฃใณใใฆใบ ใจใผใใผใขใค๏ผใจใฏใMicrosoft WindowsใฎAPIใฎใใจใ็นใซ32ใใใใใญใปใใตใงๅไฝใใWindows 95ไปฅ้ใWindows NTใงๅฉ็จใงใใใใฎใฏWin32 APIใจๅผใฐใใใใพใใใใใใฎWindowsใซใใใWin32 APIใฎๅฎ่ฃ ใWin32ใจๅผใถใ
64ใใใใใญใปใใตๅใใฎWin64 APIใๅซใใๅ ดๅใฏใWindows APIใใจใใๅ ๆฌ็ใชๅ็งฐใๆญฃ็ขบใ ใใๆ ฃ็ฟ็ใซWin32ใจ่จใใฐWin64ใๅซใใงใใใใจใใใ[1]ใ
ๆฆ่ฆ
็ทจ้Windowsใชใใฌใผใใฃใณใฐใทในใใ (OS) ไธใงๅไฝใใใขใใชใฑใผใทใงใณใซใจใฃใฆใWindows APIใฏWindowsใฎๅๆฉ่ฝใซใขใฏใปในใใใใใฎ็้ขใงใใใใใฎใใใWindowsไธใงๅไฝใใใขใใชใฑใผใทใงใณใไฝๆใงใใๆงใ ใชใใญใฐใฉใใณใฐ่จ่ชใป้็บ็ฐๅขใซใใใฆWindows APIใไฝฟ็จใใๆๆฎตใๆไพใใใฆใใใ็นใซCใจC++ๅใใซใฏใWindows SDKใซใใใ<windows.h>ใใฏใใใจใใๅคๆฐใฎใใใใผใใกใคใซใๅ ฌ้ใใใฆใใใMicrosoft Visual C++ใฎC/C++ใฉใณใฟใคใ ใฉใคใใฉใชใฎใใกใOSใฎๆฉ่ฝใซใขใฏใปในใใใใฎใฏใๅ ้จ็ใซWindows APIใ็จใใฆๅฎ่ฃ ใใใฆใใใใพใใๅคใใฎ้็บ็ฐๅขใงใWindows APIใๅบใซใใใใใ้ซๆฐดๆบใฎใใฌใผใ ใฏใผใฏใๆง็ฏใใใฆใใใใใใใ้ใใฆใใในใฆใฎWindowsใขใใชใฑใผใทใงใณใฏใ็ดๆฅ็ใพใใฏ้ๆฅ็ใซWindows APIใไฝฟ็จใใฆใใใ
Windows APIใซๅฑใใๅAPIใฏใไธปใซDLLใซๅฎ่ฃ ใใใฆใใใC่จ่ชๅฝขๅผ้ขๆฐใพใใฏCOMใคใณใฟใผใใงใคในใจใใฆๆฉ่ฝใๅ ฌ้ใใใฆใใใ้ขๆฐใฎๅผๅบ่ฆ็ดใฏWin32 (x86) ใฎๅ ดๅใซๅๅใจใใฆstdcallใๆก็จใใ[2][3]ใชใฉใ็ตฑไธใใใใคใณใฟใผใใงใคในใงๅคๆฐใฎใใญใฐใฉใใณใฐ่จ่ชใใใฎไฝฟ็จใๅฎนๆใชใใฎใจใใฆใใใ
ๅ้ก
็ทจ้Windows APIใฎไธญๆ ธใจใชใๆฉ่ฝใฏKernelใUserใGDIใซๅใใใใ[4]ใๅฝๅใฏใใใใใKERNEL.EXE (ใขใผใใซใใฃใฆใฏKRNL286.EXEใKRNL386.EXE)ใUSER.EXEใGDI.EXEใซๅฎ่ฃ ใใใฆใใใ32ใใใๅใใใฆไปฅ้ใฏใKERNEL32.DLLใUSER32.DLLใGDI32.DLLใซๅฎ่ฃ ใใใฆใใใWindows 7ใฎๆฐใซใผใใซใMinWinใงใฏใ"Virtual DLL"ใฎไป็ตใฟใๅฐๅ ฅใใใใคใณใฟใผใใงใคในไบๆๆงใ็ถญๆใใใใใงๅฎ่ฃ ใฎๆด็ใ่กใชใใใฆใใ[5][6]ใ
- Kernel
- ใใกใคใซใทในใใ ใใใใคในใใใญใปในใในใฌใใใใฌใธในใใชใไพๅคๅฆ็ใชใฉๅบ็คใจใชใๆฉ่ฝ
- User
- ใฆใฃใณใใฆใฎๅฆ็ใใใฟใณใในใฏใญใผใซใใผใชใฉใจใใฃใๅบๆฌ็ใชใณใณใใญใผใซใใใฆในใปใญใผใใผใๅ ฅๅใใใฎไปใฐใฉใใฃใซใซใฆใผใถใผใคใณใฟใผใใงใคใน (GUI) ใซ้ขใใๆฉ่ฝใ
- GDI
- ใใฃในใใฌใคใปใใชใณใฟใใฏใใใจใใๅบๅ่ฃ ็ฝฎใธใฎๆ็ปๆฉ่ฝ
็พๅจใงใฏใใใใ ใใซ็ใพใใใๅคๆฐใฎDLLใใ็กๆฐใฎๆฉ่ฝใๅ ฌ้ใใใฆใใใ็พๅจใใใคใฏใญใฝใใใฎใใญใฅใกใณใใงใฏๆฌกใฎใใใซๅ้กใใฆใใ[7]ใ
- Administration and Management
- Diagnostics
- Graphics and Multimedia
- Networking
- Security
- System Services
- Windows User Interface
ใชใใใใฎๅ้กใงใฏใKernelใฏDiagnosticsใจSystem ServicesใใใฆSecurityใซ่ทจใฃใฆๅฑใใUserใฏWindows User InterfaceใGDIใฏGraphics and Multimediaใซๅฑใใใ
ใฐใฉใใฃใใฏใจใใซใใกใใฃใข
็ทจ้DirectX
็ทจ้ใใคใฏใญใฝใใใฏWindows 95/Windows NT 4ไปฅ้ใๅ จใฆใฎWindowsใซDirectXใ็จๆใใฆใใใDirectXใฏไธปใซใฒใผใ ใจใใซใใกใใฃใขใฎใใใฎAPIใงใใใใWindows Vistaไปฅ้ใฏDirectX GraphicsใGDIใซไปฃใใฃใฆOSใฎใฐใฉใใฃใใฏในๆ็ปใฎๅบ็คใจใใฆๆๆ ผใใใฆใใใWindows OSใฎใใผใธใงใณใใใตใผใในใใใฏใใใใฏๆฉ่ฝๆดๆฐใใญใฐใฉใ ใฎ้ฉ็จ็ถๆณใซใใฃใฆใๅฉ็จๅฏ่ฝใชAPIใAPIใฎใใผใธใงใณใ็ฐใชใใDirectX APIใฎใใกใฎใใใคใใฏใใฒใผใ ใณใณใฝใผใซใงใใXboxใทใชใผใบ๏ผXboxใXbox 360ใXbox Oneใชใฉ๏ผใจๅ ฑ้ใซใชใฃใฆใใใๅคงๅใฏใใผใใฆใงใขใจใฎ้ไฟกใไปฒไปใใAPIใงใใใๅฉ็จใใใซใใใฃใฆใDirectXๅฏพๅฟใใผใใฆใงใขใใใณใใใคในใใฉใคใใผใฎใคใณในใใผใซใๅฟ ่ฆใจใชใใใฎใๅคใใ
- Direct3D
- 3DใฐใฉใใฃใใฏในใขใฏใปใฉใฌใผใฟใฎๆไฝใๅฝๅใฏWindowsใซใใใOpenGLใฎไปฃๆฟๆๆฎตใงใใใฃใใใDirect3D 12ใฏใใใใผใใฆใงใขใซ่ฟใใญใผใฌใใซAPIใจใชใใ็ซถๅใฏVulkanใงใใใ
- DirectDraw
- 2DใฐใฉใใฃใใฏในใขใฏใปใฉใฌใผใฟใฎๆไฝใDirectX 8.0ไปฅ้ใDirectDrawใฎๆฉ่ฝใฏDirect3Dใซๅธๅใใใใ
- DirectX Graphics
- DirectX 8.0ไปฅ้ใซๅฐๅ ฅใใใๅ็งฐใงใDirect3DใใใณDirectDrawใฎ็ตฑๅใๆๅณใใใใฎใ ใฃใใ[8]ใDirectX 11ไปฅ้ใฏDXGI/Direct3D/Direct2D/DirectWrite/DirectCompositionใฎ็ท็งฐใจใชใฃใฆใใ[9]ใ
- DXGI (DirectX Graphics Infrastructure)
- DirectX 10ไปฅ้ใDirectX Graphicsใใๆฏ่ผ็ๅคๅใฎ็ทฉใใใช้จๅใฏDXGIใจใใฆDirect3Dใใๅ้ขใใใใ
- Direct2D
- Direct3Dไธใซๆง็ฏใใใ้ซใฌใใซ2Dๆ็ป็จAPIใGDI+ใฎ็ฝฎใๆใใจใชใใ
- DirectWrite
- ใใญในใใใใณใใฉใณใ๏ผใใฉใณใใฐใชใใๆฑใใ
- DirectCompute
- DirectX 11ใงๅฐๅ ฅใใใGPGPU็จใฎAPIใจใใไฝ็ฝฎไปใใ ใใๅฎ้ใซใฏDirect3Dใฎไธ้จใ
- DirectSound
- ไฝๆฐดๆบใชใใผใใฆใงใข๏ผไธปใซใตใฆใณใใซใผใ๏ผใธใฎๆไฝใ
- DirectMusic
- DirectSoundใฎไธไฝใซไฝ็ฝฎใใ้ณๆฅฝ๏ผใกใใฃใขใใกใคใซใฎๅ็ใชใฉ๏ผใๆฑใใ
- DirectX Audio
- DirectX 8.0ไปฅ้ใซๅฐๅ ฅใใใๅ็งฐใงใDirectSoundใใใณDirectMusicใฎ็ตฑๅใๆๅณใใใใฎใ ใฃใใ[8]ใDirectX 9ไปฅ้ใฏX3DAudio/XAudio2/XACT/DirectSoundใชใฉใฎ็ท็งฐใจใชใฃใฆใใ[10]ใ
- DirectInput
- ใธใงใคใใใใใฒใผใ ใใใใใใฎๅ ฅๅใใใใณใใฉใผในใใฃใผใใใใฏใๆฑใใ
- XInput
- Xbox 360ใXbox OneใฎใณใณใใญใผใฉใผใWindowsไธใงไฝฟใใใใใซใใAPIใ
- DirectPlay
- ใใใใฏใผใฏใชใฉใไปใใ้ไฟกใ
- DirectShow
- ๆฑ็จ็ใชใใซใใกใใฃใขใใคใใฉใคใณใทในใใ ใ
DirectX APIใฏWindows APIใฎไธญใงใๅคๅใๆฟใใAPIใฎใฒใจใคใงใDirect3D RMใDirectDrawใDirectSoundใDirectInputใDirectPlayใใใใณDirectMusicใฏWindows Vistaไปฅ้ๅฎๅ จใชไบๆๆฉ่ฝใ็จๆใใใใไธ้จใ้คใใฆๅปๆญขใใใใฏไปฃๆฟAPIใซๅธๅใใใฆใใ[11][12]ใ
้ๆญข็ป
็ทจ้ๅ็ปใป้ณๅฃฐ
็ทจ้- Video for WindowsใMedia Control Interface (MCI) ใWinMMใชใฉใฎWindowsใใซใใกใใฃใขAPI[13]
- DirectShow
- Media Foundation
- Core Audio
OpenGL
็ทจ้- WGL
- OpenGLใจWindows (GDI) ใจใฎ้ฃๆบ้จๅใๆ
ๅฝใใAPIใงใใใๅ้ขๆฐๅใฏๆฅ้ ญ่พ
wglใงๅงใพใใ<wingdi.h>ใงๅฎฃ่จใใใฆใใใใชใใWindows SDKใซไปๅฑใใOpenGLใใใใผใใใณใฉใคใใฉใชใซใฏOpenGL 1.1ใพใงใฎ้ขๆฐใใๅฎ็พฉใใใฆใใใใใใใใฃใฆOpenGL 1.2ไปฅ้ใฎๆฉ่ฝใไฝฟใใใใซใฏใKhronosใใๆๆฐใฎOpenGLใใใใผใใใฆใณใญใผใใใใฎใกใWGLใฎwglGetProcAddress()้ขๆฐใ็จใใฆใใผใใฆใงใขใใณใใผใๆไพใใOpenGL ICD (Installable Client Driver) ใฎ้ขๆฐใจใณใใชใใคใณใใใขใใชใฑใผใทใงใณๅฎ่กๆใซๅๅพใใใชใฉใฎไฝๆฅญใๅฟ ่ฆใจใชใ[14]ใ
ใใใใฏใผใฏใปใคใณใฟใผใใใ
็ทจ้- Winsock
- NetBIOS
- MSRPC
- Trident: IEใณใณใใผใใณใ (MSHTML)
- MSXML
- WinINet
- Windows HTTP Services (WinHTTP)[15]
ใณใณใใผใใณใๆ่ก
็ทจ้- Component Object Model (COM)
- Microsoft Transaction Server (MTS), Distributed Component Object Model (DCOM)
- Object Linking and Embedding (OLE), ActiveX, OLEใชใผใใกใผใทใงใณ
ใใคใใฃใAPI
็ทจ้ใใคใใฃใAPIใฏใWindows NT็ณปใซใใใฆWindows APIใใไธไฝๅฑคใฎAPIใงใใใNT็ณปใงใฏใNTใใคใใฃใAPIไธใซใตใใทในใใ ใจใใฆWin32 APIใๅฎ่ฃ ใใใฆใใใใใ ใใDirectXใGDIใชใฉใฏใใใคใใฃใAPIใไปใใใใใไธไฝใซไฝ็ฝฎใใใซใผใใซใจ็ดๆฅใใๅใใ่กใใ
.NET Frameworkใจใฎ้ขไฟ
็ทจ้Windowsใงๅไฝใใ.NET Frameworkใฏใๅบๆฌ็ใซWin32 APIใ็จใใฆๅฎ่ฃ ใใใฆใใใไพใใฐWindows FormsใใใณWindows Presentation Foundation (WPF) ใฏใใใใๅ ้จ็ใซGDI/GDI+ใใใใฏDirect3Dใๅฉ็จใใฆๆง็ฏใใใGUIใขใใชใฑใผใทใงใณใฎใใฌใผใ ใฏใผใฏใงใใใWin32 APIใจใฎ็ธไบ้็จๆงใ็ขบไฟใใใฆใใใๅบๆฌใฏใฉในใฉใคใใฉใชใใOSใฎๆฉ่ฝใซใขใฏใปในใใใใฎใฏWindows APIใๅ ้จ็ใซๅฉ็จใใฆใใใP/InvokeใCOM็ธไบ้็จใซใใฃใฆใ.NETใขใใชใฑใผใทใงใณใใWindows APIใๅฉ็จใใใใจใๅฏ่ฝใงใใใ
ใใคใฆใใWindows Vistaไปฅ้ใWinFXใจๅผใฐใใๆฐใใAPIใWindows APIใซไปฃใใฃใฆใใคใใฃใAPIใซใชใ๏ผWinFXใๆใไฝๆฐดๆบใชAPIใจใชใWindows APIใฏใใฎใฉใใใผใจใชใ๏ผใใจใขใใฆใณในใใใใใจใใใฃใใใ็ตๅฑๆคๅใใใWindows Vista่ฃฝๅ็ใงใฏๅพๆฅ้ใWindows APIใใใคใใฃใใชAPIใจใชใฃใฆใใ[16]ใWinFXใฎ่จ็ปใฏๆน้่ปขๆใใใไบๅฎใใใฆใใๆฉ่ฝใฏ.NET Framework 3.0ใจใใฆใชใชใผในใใใ[17]ใ
ๅฎ่ฃ
็ทจ้Windows APIใฏๅๅใใใ้กๆจใงใใใจใใใไธปใซMicrosoft Windowsใซๅฎ่ฃ ใใใฆใใใใใฎๅฎ่ฃ ใฏWindowsใฎใใผใธใงใณๆฏใซๅฐใชใใใ้ใใๅญๅจใใใใใจใใฐWin32ใฎๅ ดๅใWin32cใWin32sใงใฏใใไธ้จใ้คใUnicodeใซๅฏพๅฟใใฆใใชใใใปใญใฅใชใใฃๅฏพ็ญใฎใขใฏใปในๅถ้ใๅฎ่ฃ ใใใฆใใชใใชใฉใจใใฃใ้ใใๆใใใใใใใใฆใใใฏๅคงใใๆฌกใฎใใใซๅ้กใใใใจใใงใใใ
Win16
็ทจ้Win16ใฏใ16ใใใใใญใฐใฉใ ็จใฎๅฎ่ฃ ใงใใใใใ ใใWin16ใจใใ่ช่ชไฝใฏWin32ใ็ปๅ ดใใฆใใ็จใใใใใใใซใชใฃใใฌใใญใใ ใงใใ[18]ใWin16ใฏๅคงใใ2็จฎ้กใซๅใใใใใ
- Windows 1.0ใใWindows 3.1ใพใงใใใณWindows 95/98/Me๏ผ9x็ณป๏ผใฎๅฎ่ฃ ใ
- WOW (Windows on Windows): Windows NTใซใใWin16ใตใใทในใใ ใซใใๅฎ่ฃ ใ
Win32
็ทจ้Win32ใฏใ32ใใใใใญใฐใฉใ ็จใฎๅฎ่ฃ ใงใใใๆฌกใฎใใใซๅใใใใใ
- Win32
- ็ญ็พฉใฎWin32ใฏใNT็ณปใฎๅฎ่ฃ ใๆใใ
- Win32c
- 9x็ณปใฎๅฎ่ฃ ใ'c'ใฏใcompatibilityใ๏ผไบๆ๏ผใฎ้ ญๆๅญใงใใใใใใใ็พๅจ[ใใค?]ใงใฏ9xใฎๅฎ่ฃ ใๅบๅฅใชใWin32ใจๅผใถ[19]ใ
- Win32s
- Windows 3.1็จใฎๅฎ่ฃ ใ's'ใฏใsubsetใ๏ผใตใใปใใ๏ผใฎ้ ญๆๅญใงใใใWindows 3.1ใซใฏๆญ่ผใใใฆใใใใๅฅ้ๅ ฅๆใปใคใณในใใผใซใใๅฟ ่ฆใใใใ
- Win32 for Windows CE[20]
- Windows CEใฎๅฎ่ฃ ใๆๅญใณใผใใซUnicodeใฎใฟใไฝฟ็จใใใชใฉใฎ็นใ็นๅพด็ใงใใใ
- WOW64 (Windows on Windows 64)
- Win64ไธใงWin32ใใจใใฅใฌใผใทใงใณใใใตใใทในใใ ใซใใๅฎ่ฃ ใ
Windows NTใx86ไปฅๅคใฎใขใผใญใใฏใใฃใซ็งปๆคใใใใใจใซไผดใใWin32ใฏๅ็จฎใขใผใญใใฏใใฃๅใใซ็งปๆคใใใฆใใ[21]ใใพใใWindows NTใงใฏใชใใใใใคใฆMacintosh็จใฎWin32ใๅญๅจใใMicrosoft Visual C++ 4.0 Cross-Development Edition for Macintoshใจใใฆใฏใญในใณใณใใคใฉใจใจใใซ็บๅฃฒใใใฆใใ[22]ใใใใใขใผใญใใฏใใฃใฎ็ฐใชใWin32ใฎ้ใซใฏใฝใผในใณใผใไธใงใฎไบๆๆงใใใใ
Win64
็ทจ้Win64ใฏใ64ใใใใใญใฐใฉใ ็จใฎๅฎ่ฃ ใงใใใ2021ๅนด3ๆ็พๅจใฎไธปๆตใฏx64ใ ใใWindows 10ใงใฏARM64ใใตใใผใใใใใใใซใชใฃใ[23][24][25]ใ
ใใคใฆWindows Server 2003ใใใณWindows XPใซใฆIA-64ใฎใตใใผใใๅงใพใฃใใใWindows Server 2008 R2ใๆๅพใซใตใใผใใๆใกๅใใใ[26]ใ
ใใคใฏใญใฝใใไปฅๅคใซใใๅฎ่ฃ
็ทจ้Windows APIใฎไปๆงใฏWindows SDKใฎใใญใฅใกใณใใMicrosoft Docs๏ผๆงMSDN ใฉใคใใฉใช๏ผใงๅ ฌ้ใใใฆใใใใใใๅบใซใใMicrosoft WindowsไปฅๅคใฎWindows APIใฎๅฎ่ฃ ใๅญๅจใใใ
Windowsใฉใณใฟใคใ API
็ทจ้Windowsใฉใณใฟใคใ API (WinRT API) ใฏใWindows 8ใงๅฐๅ ฅใใใWindowsในใใขใขใใช (Modern UIใขใใชใฑใผใทใงใณ) ใ้็บใใใใใฎCOMๆกๅผตใซใใ้ซใฌใใซAPIใๅพ็ถใจใชใWindows 10ใงๅฐๅ ฅใใใใฆใใใผใตใซWindowsใใฉใใใใฉใผใ (UWP) ใขใใชใฑใผใทใงใณใฎ้็บใซใใใใใผในAPIใซใใชใฃใฆใใใไธ้จใฎWinRT APIใฏใๅพๆฅใฎใในใฏใใใใขใใชใฑใผใทใงใณใใๅฉ็จใใใใจใใงใใ[27]ใๅพๆฅใฎWindows APIใฏใWinRT APIใจๅฏพๆฏใปๅบๅฅใใใใจใใWin32 APIใจๅผใฐใใใใจใๅคใใ
่ฉณ็ดฐ
็ทจ้Unicodeๅฏพๅฟ
็ทจ้| Win 9x | Win NT | Win CE | |
|---|---|---|---|
| A | Yes | Yes | No |
| W | ไธ้จๅฏพๅฟ | Yes | Yes |
Windows NT็ณปใงใฏๅฝๅใใUnicodeใ็จใใใใฆใใไธๆนใUnicodeใซๅฏพๅฟใใฆใใชใWin16ใจไบๆๆงใๅใใใใซใWin32 APIใใๅใAPIใซๅฏพใใฆใใซใใใคใๆๅญ็ใจUnicode็ใฎ2ใคใ็จๆใใC/C++ใฎใใฏใญใ้งไฝฟใใฆใณใณใใคใซๆใซใฉใกใใไฝฟใใ้ธๆใงใใไป็ตใฟใๆก็จใใใฆใใ[28]ใใชใใUnicodeใฎ็ฌฆๅทๅใซใฏๅฝๅUCS-2ใใWindows 2000ใใๆญฃๅผใซUTF-16ใ็จใใใใฆใใ[29]ใ
ๅ
ทไฝ็ใซใฏใๆๅญใใใณๆๅญๅใฎ้ขใใ้ขๆฐใปๆง้ ไฝใซใคใใฆใใใซใใใคใๆๅญ๏ผWindowsใณใผใใใผใธใซๅบใฅใใๆฅๆฌ่ช็ฐๅขใงใใใฐใณใผใใใผใธ932๏ผใจUnicode (UTF-16) ใฎใฉใกใใไธใใใใจใใงใใใใใซใ2ใคใฎ้ขๆฐใปๆง้ ไฝใชใฉใๆบๅใใใฆใใใใใฎๅ ดๅใใใซใใใคใๆๅญๅใไธใใในใ้ขๆฐใปๆง้ ไฝใฏๆซๅฐพใซใAใใไปใใใฏใคใๆๅญๅใไธใใในใ้ขๆฐใปๆง้ ไฝใฏๆซๅฐพใซใWใใไปใใฆๅบๅฅใใฆใใใไพใใฐใWin16ใฎMessageBox้ขๆฐใซๅฏพใใฆใWin32ใงใฏMessageBoxAใจMessageBoxWใจใใ2ใคใฎ้ขๆฐใ็จๆใใใฆใใใใใใฆใใใชใใญใปใใต่ญๅฅๅญUNICODEใฎๅฎ็พฉใฎๆ็กใซใใฃใฆๅใๆฟใใ่กใใใใ
#ifdef UNICODE
#define MessageBox MessageBoxW
#else
#define MessageBox MessageBoxA
#endif
ใใใซใๆๅญๅใซๅฏพใใฆใๅๆงใซCHAR (charใฎtypedef) ใจWCHAR (wchar_tใฎtypedef) ใUNICODEใฎๅฎ็พฉใซๅฟใใฆๅใๆฟใใTCHARๅใชใฉใใใใญใผๆๅญๅๅฎๆฐใปใชใใฉใซใจใฏใคใๆๅญๅๅฎๆฐใปใชใใฉใซใๅใๆฟใใTEXTใใฏใญใๅญๅจใใใ
#ifdef UNICODE
#define TEXT(s) L ## s
typedef WCHAR TCHAR;
#else
#define TEXT(s) s
typedef CHAR TCHAR;
#endif
ใใใใ้ฉๅใซ็จใใใจใ1ใคใฎใฝใผในใณใผใใใใณใณใใคใซๆใฎใชใใทใงใณใซใใฃใฆใใซใใใคใๆๅญใ็จใใๅฎ่กใใญใฐใฉใ ใจใฏใคใๆๅญใ็จใใๅฎ่กใใญใฐใฉใ ใฎ2็จฎ้กใไฝๆใงใใใไปฅไธใฏใใฎไพใงใใใ
#include <windows.h>
#include <tchar.h> // WinMain ใจ wWinMain ใๅใๆฟใใ _tWinMain ใชใฉใๅฎ็พฉใใใฆใใใ
int WINAPI _tWinMain(HINSTANCE hInst, HINSTANCE hInstPrev, LPTSTR lpszCommandLine, int nCmdShow)
{
MessageBox(NULL, TEXT("Hello, world"), TEXT("App"), MB_OK);
return 0;
}
ใชใใWindows NT็ณปใซใใใA็ใฎAPI้ขๆฐใฏใๅ ้จ็ใซW็ใๅผใณๅบใใฉใใใผใจใชใฃใฆใใ[30]ใA็APIใซๅ ฅๅใใใใใซใใใคใๆๅญๅใฏUnicodeๆๅญๅใซๅคๆใใใฆใใW็APIใซๅ ฅๅใใใW็APIใใๅบๅใใใUnicodeๆๅญๅใฏใใซใใใคใๆๅญๅใซๅคๆใใใฆA็APIใฎๅบๅใจใชใใ
ใใฎใใฌใใฃใใฏในใฎAใฏANSIใWใฏWideใๆๅณใใ[31]ใANSIใฏใWindowsใณใผใใใผใธใฎไธ้จใANSI่ฆๆ ผใฎใใฉใใใๅ ใซใใใใจใซ็ฑๆฅใใ[32]ใใฏใคใๆๅญ (wchar_t) ใฏC/C++ใฎ็จ่ชใงใใใใWindows็จใฎC/C++ๅฆ็็ณปใซใใใฆใใฏใคใๆๅญใฏๅคงๆตUCS-2ใพใใฏUTF-16ใจใใฆๅฎ่ฃ ใใใฆใใใใพใใOLE้ขไฟใงใฏใWin32ใงใในใฆUnicodeๅใใใA/Wใฎๅบๅฅใๅญๅจใใชใใ
ใชใใWindows 9x็ณปใงใฏใUnicode็APIใฏไธ้จใใๅฎ่ฃ ใใใฆใใชใ[33]ใใใ ใใMicrosoft Layer for Unicodeใๅฉ็จใใใใจใซใใใใปใผใในใฆใฎUnicode็APIใไฝฟ็จๅฏ่ฝใซใชใ[34]ใใพใใWindows CEใงใฏใ้ใซUnicode็APIใใๅฎ่ฃ ใใฆใใชใใNT็ณปใงใใUnicodeใๅๆใจใใไปๆงๅคๆดใ่กใใใใ[35]ใTheme APIใชใฉๆฐใใAPIใงA/Wใฎ2็จฎใ็จๆใใUnicodeใ็จใใใใฎใ ใใ็จๆใใใใใใชใฉใๅพใ ใซUnicodeใธๅพๆใใๅพๅใซใใใ
ๆญดๅฒ
็ทจ้Windows APIใฎๆญดๅฒใฏใใใกใใWindows่ชไฝใฎๆญดๅฒใจๅใ้ขใใชใ้ขไฟใซใใใๅธธใซใWindowsใซๆฐๆฉ่ฝใๆญ่ผใใใใฐใใใใใขใใชใฑใผใทใงใณใฝใใใฆใงใขใใไฝฟ็จใใใใใฎๆฐใใAPIใ่ฟฝๅ ใใใๅฏพๅฟใใๆฐใใSDKใๅ ฌ้ใใใใใจใฎ็นฐใ่ฟใใงใใใใใใคในใใฉใคใใผใซๅฏพๅฟใ่ฟซใใใฎใฏใDDK/WDK็ต็ฑใงๅ ฌ้ใใใใ
Windows APIใฎๆญดๅฒไธใๆใๅคงใใชๅค้ฉใฏWindows NTใซไผดใWin32ใฎ็ปๅ ดใ ใฃใใใใคใณใฟใจใใณใใซใ32ใใใๅใใใใใจใUnicodeใธใฎๅฏพๅฟใๅณใใใใใจใๅคงใใชๅคๅใงใใใ
ใชใใ็พๅจ[ใใค?]ใฏ็ทฉใใใซ64ใใใใธใฎ็งป่กใ้ฒใใงใใใWin64ใงใฏใใใคใณใฟใใใณใใณใใซใฏ64ใใใๅใใใฆใใใใใใไปฅๅคใงใฏ16ใใใใใ32ใใใใธใฎ็งป่กๆใฎใใใชๅคงใใชๅคๅใฏใชใใใชใใ64ใใใ็Windowsใงใฏ32ใใใใขใใชใฑใผใทใงใณใจใฎ็ธไบ้็จๆงใ็ขบไฟใใใใใใใณใใซใฎไธไฝ32ใใใใไฝฟ็จใใไป็ตใฟใจใชใฃใฆใใใใฆใฃใณใใฆ (HWND) ใชใฉใฎใฆใผใถใผใชใใธใงใฏใใใณใใซใใใฉใท (HBRUSH) ใใใณ (HPEN) ใชใฉใฎGDIใชใใธใงใฏใใใณใใซใใใใฆใใฅใผใใใฏในใใปใใใฉใใใกใคใซใชใฉใฎๅๅไปใใชใใธใงใฏใใใณใใซใ32ใใใ/64ใใใใขใใชใฑใผใทใงใณ้ใงๅ ฑๆใใใใญใปใน้้ไฟกใซๅฉ็จใใใใจใใงใใ[36]ใใพใใ64ใใใ็WindowsใงใฏWOW64ใซใใ32ใใใใขใใชใฑใผใทใงใณใๅฎ่กใงใใใใ16ใใใใขใใชใฑใผใทใงใณใๅฎ่กใใใใจใฏใงใใชใ[37][38]ใ
ไบๆๆง
็ทจ้Windows APIใฏใทในใใ ๅ จไฝใงๅ ฑๆใใDLLใ้ใใฆๅ ฌ้ใใใฆใใใใใฎใทในใใ DLLใซๅคๆดใๅ ฅใใจใในใฆใฎใขใใชใฑใผใทใงใณใๅฝฑ้ฟใๅใใใใจใซใชใใใใฎใใใๅบฆ้ใชใใใผใธใงใณใขใใใใปใญใฅใชใใฃใใใใฎ้ฉ็จใซใใใณใณใใผใใณใใฎไบๆๆงใๅคฑใฃใฆใใพใใใจใซใใDLLๅฐ็ (DLL Hell) ใฎ็บ็ใๆใใใจใใใใใใฎ็นใซ้ขใใฆใฏใWindows 2000ใงๅฐๅ ฅใใใSide-by-Sideใณใณใใผใใณใๅ ฑๆใใWindows XPใงๅฐๅ ฅใใใๅ้ขใขใใชใฑใผใทใงใณใจSide-by-Sideใขใปใณใใชใฎไป็ตใฟใซใใใใใ็จๅบฆใฎ่งฃๆฑบใๅณใใใฆใใใ
ๅบๆฌ็ใซWindowsใใใณWindows API่ชไฝใฏไบๆๆงใซ้ ๆ ฎใใ่จญ่จใใชใใใฆใใใใใผใธใงใณใขใใใฎ้ใซๆขๅญใฎๅ ฌ้APIใซ็ ดๅฃ็ๅคๆดใๅ ฅใใใจใฏใชใ๏ผๆไปฃ้ ใใจใชใฃใๅคใAPIใ้ๆจๅฅจใซใชใใใจใฏใใใใๅฎๅ จใซๅ้คใใใใใจใฏใพใใงใใ๏ผใๅ ฌ้APIใๆญฃใใๅฉ็จใใฆ้็บใใใใขใใชใฑใผใทใงใณใใใฉใคใใผใงใใใฐใๆงใใผใธใงใณใฎOSใงๆญฃๅธธใซๅไฝใใฆใใใใฎใฏใใปใจใใฉใฎใฑใผในใซใใใฆไฟฎๆญฃใใใใจใชใๅไฝใใ[39]ใใปใญใฅใชใใฃๅฏพ็ญใฎใใใซWindows Vistaใงๅฐๅ ฅใใใใฆใผใถใผใขใซใฆใณใๅถๅพก (UAC) ใซ้ขใใฆใใ้ๅธธๆจฉ้ใฎใขใใชใฑใผใทใงใณใ็ดๆฅใขใฏใปในใงใใชใใใฃใฌใฏใใชใซๅฏพใใ่ชญใฟๆธใใไปฎๆณๅใใฆใชใใคใฌใฏใใใไป็ตใฟใๆๆธ็ญใจใใฆ็จๆใใใฆใใใใใใใใขใใชใฑใผใทใงใณใใใฉใคใใผใ็นๅฎใฎใใผใธใงใณใฎWindowsใงใใๅใใชใใใใช่จญ่จใซใชใฃใฆใใๅ ดๅใใขใใชใฑใผใทใงใณใ่ตทๅใงใใชใใๆญฃๅธธใซๅไฝใใชใใชใฉใฎไบๆๆงๅ้กใ็บ็ใใใใจใใใใใใฎๅ้กใฎๅ้ฟ็ญใฎใฒใจใคใจใใฆใWindowsใซใฏใๆงใใผใธใงใณใฎOSใฎๅไฝใใใ็จๅบฆใจใใฅใฌใผใใใใไบๆใขใผใใใ็จๆใใใฆใใใไพใใฐใใผใธใงใณ็ชๅทใๅๅพใใใใใฎWindows APIใซใใใฆๆงใใผใธใงใณใฎOSใๅฝ่ฃ ใใๅคใ่ฟใใใใซใใใใจใงใใใใใซไพๅญใใใขใใชใฑใผใทใงใณใธใฎๅฝฑ้ฟใไฝๆธใใ[40]ใ
ๆนๅค
็ทจ้Windows APIใฏWin16ใๆกๅผตใใฆ32ใใใใ64ใใใๅใใใใจใใๆญดๅฒใใใใใใฎใใๅบฆ้ใชใๆฉ่ฝใฎ่ฟฝๅ ใซใใใ้ซๅบฆใซ่ค้ๅใใใฎ็ฟๅพใๅฐ้ฃใจๅใใฆใใใจใใๅ้กใใใ[41]ใ
Windows 8ใงๅฐๅ ฅใใใๆฐ่ฆ่จญ่จใฎWinRT APIใฏใๅๅ็ฉบ้ใๅฉ็จใใฆไฝ็ณป็ใซๆด็ใใใฆใใใๅน็็ใใคใขใใณใชใขใใชใฑใผใทใงใณ้็บใใตใใผใใใใใWindowsในใใขใขใใช๏ผใฎใกใฎUWPใขใใช๏ผใฏใตใณใใใใฏใน็ฐๅขใงๅไฝใใใใใซๅถ็ดใๅคใใใตใผใใใผใใฃใผ้็บใฎไธปๆตใจใฏใชใใชใใฃใใ็ตๅฑใฏๅพๆฅใฎWin32 APIใ.NET Frameworkใไฝฟ็จใใใในใฏใใใใขใใชใฑใผใทใงใณใไธปๆตใฎใพใพใงใใใใWin32 APIใซใใ้็บใฏGUIใใผใซใญใใใฎใตใใผใใๅผฑใใใฌใฌใทใผใชๅค่ฆณใฎGUIใฆใฃใธใงใใใใไฝฟใใชใใชใฉใฎๅ้กใใใ[42]ใ
ใฉใใใผใฉใคใใฉใช
็ทจ้Windows APIใฏๆฏ่ผ็ไฝๆฐดๆบใงใใใใใ้ซๆฐดๆบใชใคใณใฟใผใใงใคในใๆใใใใใC/C++ไปฅๅคใฎ่จ่ชใใๅฉ็จใใใใใใใใฎๆงใ ใชใฉใใใผใฉใคใใฉใชใใใฌใผใ ใฏใผใฏใๆฐๅคใๅญๅจใใใไธปใชใใฎใฏๆฌกใฎใจใใใ
ใใคใฏใญใฝใใ
็ทจ้- Microsoft Foundation Class (MFC)
- C++ใฏใฉในใซใใWindows APIใฎใฉใใใผใ
- Active Template Library (ATL)
- C++ใใณใใฌใผใใซใใCOMใฎใฉใใใผใ
- Windows Template Library (WTL)
- ATLใฎๆกๅผตใจใใฆไฝใใใ่ปฝ้ใฎWindows APIใฎใฉใใใผใ็พๅจ[ใใค?]ใฏCPLใซๅบใฅใใชใผใใณใฝใผในใจใชใฃใฆใใใ
ใใผใฉใณใ
็ทจ้- Object Windows Library (OWL)
- MFCใจๅๆๆใซๅ ฌ้ใใใใใใชใใธใงใฏใๆๅใซไฝใใใใฉใใใผใ
- Visual Component Library (VCL)
- ใใผใฉใณใใใใฎๅพใซ้็บใใDelphiใซใใใฉใใใผใWindows Formsใฎใใผในใซใใชใฃใใ
.NET FrameworkใWindows็.NET Coreใฏใๅ
้จ็ใซWindows APIใๅฉ็จใใฆๅฎ่ฃ
ใใใฆใใใใฎใฎใๅบๆฌใฏใฉในใฉใคใใฉใชใชใฉใฏใใฉใใใใฉใผใ ้ไพๅญใจใชใใใๆฝ่ฑกๅใใใฆใใใใWindowsๅบๆใฎๆฉ่ฝใไฝฟ็จใใGUIใใฌใผใ ใฏใผใฏใใWindows APIใ่ใใฉใใใใใ ใใฎ้จๅใๅญๅจใใSystem.Windowsๅๅ็ฉบ้ใMicrosoft.Win32ๅๅ็ฉบ้ใชใฉใซใพใจใใใใฆใใ[43][44]ใ
่ๆณจ
็ทจ้- ^ Windows API index - Win32 apps | Microsoft Docs
- ^ __stdcall | Microsoft Docs
- ^ x64ใฎๅ ดๅใฏ__fastcallใๆก็จใใใฆใใใ
- ^ ใใฃใผใซใบใปใใพใซใใใใญใฐใฉใใณใฐWindows็ฌฌ5็ใ ใไธใใใขในใญใผใ2000ๅนด10ๆใISBNย 978-4756136008ใ
- ^ ASCII.jp๏ผMinWinใจVirtual DLLใงๅคใใWindowsใซใผใใซ (1/2)๏ฝใใชใใฎ็ฅใใชใWindows
- ^ ASCII.jp๏ผARM็Windows 8ๅฎ็พใฎๅธ็ณใจใชใฃใWindows 7ใฎใMinWinใ (3/4)๏ฝๅบ็คใใ่ฆใใ ๆๆฐOSใฎใขใผใญใใฏใใฃใผ
- ^ โOverview of the Windows APIโ (่ฑ่ช) (2009ๅนด5ๆ7ๆฅ). 2009ๅนด7ๆ8ๆฅ้ฒ่ฆงใ
- ^ a b DirectX 8.0 ใฎ็ดนไป | Microsoft Docs
- ^ Getting started with DirectX Graphics - Win32 apps | Microsoft Docs
- ^ ใชใผใใฃใชใฎใชใใกใฌใณใน | Microsoft Docs
- ^ DirectX ใซ้ขใใฆใใๅฏใใใใ่ณชๅ | Microsoft Docs
- ^ DirectX Frequently Asked Questions - Win32 apps | Microsoft Docs
- ^ Windows Multimedia - Win32 apps | Microsoft Docs
- ^ OpenGL - Win32 apps | Microsoft Docs
- ^ Windows HTTP Services - Win32 apps | Microsoft Learn
- ^ ๆฌ็ฐ้ ไธใฎใ้ฑๅใขใใคใซ้ไฟกใ
- ^ Windows Vistaใจใฏไฝใ๏ผ๏ผ3/3๏ผ - ๏ผ IT
- ^ Petzold, Charles ่ใๆ ชๅผไผ็คพใญใณใฐใใผใซ/้ทๅฐพ้ซๅผ ่จณใใใญใฐใฉใใณใฐWindowsใ ใไธใ๏ผ็ฌฌ5็๏ผใใขในใญใผใ2000ๅนด10ๆใ33้ ใISBNย 978-4756136008ใ
- ^ Petzold, Charles ่ใๆ ชๅผไผ็คพใญใณใฐใใผใซ/้ทๅฐพ้ซๅผ ่จณใใใญใฐใฉใใณใฐWindowsใ ใไธใ๏ผ็ฌฌ5็๏ผใใขในใญใผใ2000ๅนด10ๆใ34้ ใISBNย 978-4756136008ใ
- ^ โMicrosoft Announces Visual C++ for Windows CEโ (่ฑ่ช). ใใคใฏใญใฝใใ (1997ๅนด4ๆ1ๆฅ). 2009ๅนด1ๆ30ๆฅ้ฒ่ฆงใ
- ^ โCross-Platform Application Development in Windows NTโ (่ฑ่ช) (2003ๅนด12ๆ1ๆฅ). 2007ๅนด7ๆ26ๆฅ้ฒ่ฆงใ
- ^ โMicrosoft Visual C++ 4.0 Cross-Development Edition for Macintosh (Archived Visual C++ Technical Articles)โ (่ฑ่ช) (1995ๅนด7ๆ). 2007ๅนด7ๆ26ๆฅ้ฒ่ฆงใ
- ^ MicrosoftใARM64ๅฏพๅฟใฎใในใฏใใใ็Windows 10ใ่จ็ปใ - ใจใญใตใคใใใฅใผใน
- ^ ใใคใฏใญใฝใใใARM64ๅใWindowsใขใใชใฎ้็บใจ้ ๅธใๆญฃๅผใตใใผใ - CNET Japan
- ^ Windows SDK 10ใซใฏARM64็จใฎใคใณใใผใใฉใคใใฉใชใใกใคใซใชใฉใๅซใพใใฆใใใๅพๆฅใฎใใคใใฃใใในใฏใใใใขใใชใจUWPใขใใชใ้็บใงใใใใใซใชใฃใฆใใใ
- ^ ใใคใฏใญใฝใใใใItaniumใใใใใฎใตใใผใใ็ตไบใธ - CNET Japan
- ^ ใในใฏใใใ ใขใใชใง Windows ใฉใณใฟใคใ API ใๅผใณๅบใ - Windows apps | Microsoft Docs
- ^ โWorking with Strings (Windows)โ (่ฑ่ช). MSDNใฉใคใใฉใช. ใใคใฏใญใฝใใ (2010ๅนด10ๆ5ๆฅ). 2011ๅนด8ๆ27ๆฅ้ฒ่ฆงใ
- ^ โSurrogates and Supplementary Charactersโ. MSDNใฉใคใใฉใช (2009ๅนด1ๆ12ๆฅ). 2010ๅนด1ๆ19ๆฅ้ฒ่ฆงใ
- ^ โWindows XP Professional ใฎๅค่จ่ชใชใใทใงใณใฎๆฏ่ผโ. TechNetใฉใคใใฉใช. 2010ๅนด1ๆ19ๆฅ้ฒ่ฆงใ
- ^ โUnicode in the Windows APIโ. MSDNใฉใคใใฉใช (2010ๅนด1ๆ12ๆฅ). 2010ๅนด1ๆ19ๆฅ้ฒ่ฆงใ
- ^ Chen, Raymond (2004ๅนด5ๆ31ๆฅ). โWhy is the default 8-bit codepage called "ANSI"?โ (่ฑ่ช). The Old New Thing. 2008ๅนด1ๆ30ๆฅ้ฒ่ฆงใ
- ^ โOther Existing Unicode Supportโ (่ฑ่ช). MSDNใฉใคใใฉใช. 2010ๅนด1ๆ19ๆฅ้ฒ่ฆงใ
- ^ โMicrosoft Layer for Unicode Referenceโ (่ฑ่ช). MSDNใฉใคใใฉใช. 2009ๅนด7ๆ31ๆฅ้ฒ่ฆงใ
- ^ โ[WinXP] Common Control 6.0 ใฎ EM_LIMITTEXT ใซใใๅ ฅๅๅถ้โ. ใตใใผใๆ่กๆ ๅ ฑ (2009ๅนด9ๆ16ๆฅ). 2010ๅนด1ๆ19ๆฅ้ฒ่ฆงใ
- ^ Interprocess Communication Between 32-bit and 64-bit Applications - Win32 apps | Microsoft Docs
- ^ Running 32-bit Applications - Win32 apps | Microsoft Docs
- ^ 64bit Windowsๆไปฃๅฐๆฅ๏ผ็ฌฌ3ๅใใขใใชใฑใผใทใงใณใฎไบๆๆง (1/3) - ๏ผ IT
- ^ Compatibility and Reliability - Win32 apps | Microsoft Docs
- ^ Windowsใฎไบๆๆงใใฏใใญใธใฎไป็ตใฟ๏ผๅ็ทจ๏ผ๏ผ1/3๏ผ - ๏ผ IT
- ^ ๅกฉ็ฐ็ดณไบ. โ.NETใๆฌ้ณใ็ธ่ซๅฎค๏ผ็ฌฌ1ๅ๏ผQ3๏ผใฉใใใฆใใพใ.NETใชใฎใ๏ผโ. @IT. 2009ๅนด7ๆ12ๆฅ้ฒ่ฆงใ
- ^ ASCII.jp๏ผUWPใใใในใฏใใใใขใใชใซๅๅธฐใในใใMSใ้ใๅบใใใProject REUNIONใ (1/2)
- ^ System.Windows Namespace | Microsoft Docs
- ^ Microsoft.Win32 Namespace | Microsoft Docs
้ข้ฃ้ ็ฎ
็ทจ้- Component Object Model (COM)
- Object Linking and Embedding (OLE)
- Microsoft DirectX
- .NET Framework
- Microsoft Windows SDK
- Windowsใฉใณใฟใคใ (WinRT)
- Windows UI Library (WinUI)
ๅ่ๆ็ฎ
็ทจ้- Charles Petzold่ใใใใญใฐใฉใใณใฐWindows็ฌฌ5็ใไธใใใใขในใญใผใ2000ๅนดใISBN 4756136001
- Charles Petzold่ใใใใญใฐใฉใใณใฐWindows็ฌฌ5็ใไธใใใใขในใญใผใ2000ๅนดใISBN 475613601X
- Jeffrey Richter่ใใAdvanced Windows ๆน่จ็ฌฌ4็ใใใขในใญใผใ2001ๅนดใISBN 4756138055
ๅค้จใชใณใฏ
็ทจ้- Windows API index - Win32 apps | Microsoft Docs
- Windows API (Windows) | Microsoft Docs - Windows 7ใพใงใฎAPIใใญใฅใกใณใ








