November 24, 2025
Nostalgia.exe is running
How did the Windows 95 user interface code get brought to the Windows NT?
Windows 95’s glow-up to NT wasn’t copy‑paste — fans want the 90s look back
TLDR: Microsoft rebuilt Windows 95’s interface for NT and carefully ported Explorer, using switches and Unicode tweaks instead of a simple merge. Comments erupted with AI fantasies, SourceSafe jokes, and debates about Windows burying old settings while still showing its 90s bones — and why that retro charm won’t die.
The reveal: Microsoft didn’t just mash Windows 95 into Windows NT. The teams synced up, then NT engineers rebuilt the 95 look-alike features (yes, the classic Close button in the corner) while copying Explorer over and converting old text code to Unicode. Think “hand‑crafted remake,” not merge magic. They used hidden switches so the tweaks only affected NT, and careful size fixes so strings didn’t explode — very ’90s code archaeology.
And the comments? Pure chaos. One fan dreams of an AI miracle: tell an LLM to “make Win95 work on Win11 74‑bit” — the community cackled at the “74‑bit” flex while secretly wanting that retro vibe back. Another joked it was all done with a mythical one‑click merge in SourceSafe, while a fact‑checker chimed in that git didn’t even exist until 2005. Nostalgia surged as users said digging into Windows settings is like an archaeological dig: the deeper you go, the more ancient UI pops up under the modern paint. Others worried Windows keeps hiding controls and moving toward a "you can’t configure much" future, sparking a comfort vs control throwdown. Verdict: the tech story is neat, but the community wants retro vibes, transparency, and fewer secret panels.
Key Points
- •NT implemented Windows 95 window manager features using Windows 95 as a reference implementation, not by merging code.
- •Explorer and other user-mode components were copied from Windows 95 to NT and then adapted for NT’s Unicode architecture.
- •Unicode migration introduced A/W interface variants (e.g., IShellLinkA/IShellLinkW) and required replacing CHAR with WCHAR.
- •Size calculations were corrected to count elements (sizeof(buffer)/sizeof(buffer[0])) rather than bytes, aiding cross-encoding compatibility.
- •NT-side user-mode changes were merged back into Windows 95, with safeguards (#ifdef WINNT, TCHAR/LPCTSTR) to avoid impacting Windows 95 builds.