# Win32 API

Hacker Approved page: https://hackerapproved.com/p/win32-api/

50 people recommended Win32 API in Hacker News comments, 18 had mixed feelings and 30 criticized it, November 2025 to October 2026. It was recommended in 11 of 12 months, in 37 threads. It does not meet the Hacker Approved badge rule.

**Verdict:** Stable Windows API that keeps old and new programs running and stays light on resources, though critics say its GUI lacks modern features like dark mode.

Summary written by Claude from 53 comments. It was written before the November 2026 recount, and 52 of those comments still count.

## Why people recommend it

- Stable and compatible across Windows versions (8 comments in the sample): "The only part of windows that really matters in the long run is win32 which has been extremely stable." ([source](https://news.ycombinator.com/item?id=46567427)) "Win32 is still there, it still works and it still produces scroll bars that work like they did before" ([source](https://news.ycombinator.com/item?id=49826829)) "that single binary will run unmodified on essentially every Windows machine from XP onward" ([source](https://news.ycombinator.com/item?id=47993338))
- Fast, responsive, low resource use (6 comments in the sample): "While Win32 tends to deliver the most resource-efficient and responsive apps if the complexity is not high" ([source](https://news.ycombinator.com/item?id=50251631)) "Win32 API is great and responsive; ATL/WTL (and MFC) are still very useful abstractions with little cost." ([source](https://news.ycombinator.com/item?id=50250581)) "Win32 is absolutely the best GUI system, you get the most clean, performant and easy-to-use results." ([source](https://news.ycombinator.com/item?id=48146769))
- Simple for native C++ app development (2 comments in the sample): "plain Win32 API is a perfectly viable option if you are using C++ (or another "OO" language" ([source](https://news.ycombinator.com/item?id=47479476)) "I find it a breeze to write native gui programs in pure win32 and c++." ([source](https://news.ycombinator.com/item?id=47477098))
- Good abstraction for game development (1 comment in the sample): "kernel32+user32+gdi32+d3d[11|12]+dxgi is a pretty great API abstraction for game development" ([source](https://news.ycombinator.com/item?id=46794956))

## What people warn about

- Modern GUI features missing or neglected (4 comments in the sample): "all new OS features require a new runtime and are not accessible from just pure Win32 any more" ([source](https://news.ycombinator.com/item?id=47684185)) "Only if I don't need to do anything beyond the built-in widgets and effects of Win32" ([source](https://news.ycombinator.com/item?id=46433999)) "The Win32 UI system has been neglected for many years and is missing very basic functionality by modern standards" ([source](https://news.ycombinator.com/item?id=50255102))
- Messy, inconsistent, verbose API design (3 comments in the sample): "The GUI parts are a sometimes  hacky mess because behavioral changes created mismatches between what functions were specified to do" ([source](https://news.ycombinator.com/item?id=49693693)) "make everyone do the insane BOOL ret = Win32Function(); if(!ret) { DWORD err=GetLastError(); } dance" ([source](https://news.ycombinator.com/item?id=50274128)) "It was insane, and I did little more than type in code from a "big book of Win32 programming" ([source](https://news.ycombinator.com/item?id=46145040))
- No dark mode support (2 comments in the sample): "Win32 doesn't even support dark mode properly because it's effectively "deprecated" like all the others in the graveyard." ([source](https://news.ycombinator.com/item?id=45913475)) "The Win32 USER and common controls just don't not support dark mode, but are actively hostile to it" ([source](https://news.ycombinator.com/item?id=47480746))
- Legacy string and memory limitations (2 comments in the sample): "Microsoft resisted UTF-8 forever, and so using the ANSI/multibyte strings didn't therefore give you modern functionality" ([source](https://news.ycombinator.com/item?id=47481620)) "the limits to how it handles memory made things confusing when you loaded large amounts of data into the GUI" ([source](https://news.ycombinator.com/item?id=47482395))

## What people recommend instead

- [WinAPI](https://hackerapproved.com/p/winapi/): 5 recommend, 2 mixed, 1 criticize

## The badge

A product earns the Hacker Approved badge when at least 10 people recommend it, recommenders outnumber critics at least 2 to 1 (mixed feelings count toward neither side), it was recommended in at least 4 of the 12 months and in at least 5 different threads, and no single thread supplies more than half of the people who recommend it. Health and money products are never badged.

## Cite as

Hacker Approved, "Win32 API", https://hackerapproved.com/p/win32-api/ (50 recommend, 18 mixed, 30 criticize; Hacker News comments, November 2025 to October 2026).

Counts updated 3 Nov 2026, with data through October 31, 2026.
