Programming Windows: Windows Application Basics (Premium)

That transition would take several years and several versions of Windows. But whether it was an operating environment on top of MS-DOS, a “thing on a thing,” as it was called in the early days, or a cohesive operating system in its own right, as it is now, Windows has always provided the same basic advantages to both users and application developers: A consistent user experience for all applications, task-switching between multiple running applications, inter-application data exchange capabilities, and device independent access to hardware peripherals like printers and graphics cards.
For developers, in particular, using Windows meant that they never had to create their own user interfaces from scratch; everything from the application windows themselves to the buttons, text boxes, scroll bars, and other objects that appear within them were supplied by Windows. These objects were consistent on all Windows applications, so developers could create their own solutions that looked at home next to the applications that Microsoft included in Windows and worked similarly.