最貼近作業系統、無運行時依賴、體積最小、效能最高。但 API 龐大 (數千函式)、訊息迴路手寫、資源管理繁瑣、學習曲線極陡。適合:驅動配套工具、極簡安裝包、嵌入式 Windows (IoT Enterprise)、安全軟體 (反調試、無痕運行)。
核心流程:`WNDCLASS` 註冊 → `CreateWindowEx` → `GetMessage/DispatchMessage` 迴路 → `WndProc` 處理 `WM_PAINT`/`WM_DESTROY`/`WM_COMMAND` → `BeginPaint/EndPaint` + GDI 繪圖。
C++ 封裝 Win32,提供文檔/視圖架構、串列化、資料庫類、ActiveX。僅作理解 Windows 訊息機制、GDI、COM 基礎的教學工具,新專案不建議選型。VS2022 仍支援但不再積極更新。
WinUI 3 提供原生 Fluent Design 控件、XAML 宣告式 UI、資料綁定、MVVM、支援打包為 MSIX。C++ 開發使用 C++/WinRT 投影,無需 C++/CLI。適合全新 Windows 10/11 原生應用。
| 框架 | 語言 | 授權 | 特點 | 適用場景 |
|---|---|---|---|---|
| Qt | C++ (Python/JS 綁定) | LGPL/商業 | 功能最全、跨平台最成熟、信號槽、QML、豐富模組 (網路/資料庫/圖表/3D) | 桌面/嵌入式/工業/汽車/科研 |
| Dear ImGui | C++ | MIT | 即時模式、極輕量、無原生外觀、適合工具/調試/遊戲編輯器 | 引擎編輯器、性能分析器、即時參數調整 |
| GTK | C (C++/Python/Vala 綁定) | LGPL | GNOME 基石、C 物件系統 (GObject)、主題豐富、Linux 桌面首選 | Linux 桌面應用、跨平台需原生外觀 |
| wxWidgets | C++ | LGPL-like | 原生外觀包裝、單一代碼庫編譯多平台、文檔詳盡 | 老專案遷移、需原生外觀且不想用 Qt |
| IUP | C (Lua/Python 綁定) | MIT | 極簡 API、Lua 腳本化、跨平台原生控件、體積極小 | 輕量工具、腳本化配置介面 |
| Nuklear | C (單頭檔) | Public Domain | 即時模式、無依賴、單頭檔、適合嵌入式/遊戲 | 嵌入式裝置配置介面、遊戲 UI |