@Skye there are cross-platform GUI toolkits that would let you write an application for multiple platforms with 90% of the code not needing to change.
But that way you also lose a lot of detailed platform integration – you're limited to the common subset of functionality. Also, the 10% where you had to do fiddly porting stuff is where most of the bugs end up, so you'd deal with it much more than 10% of the time!
PuTTY talks directly to the Win32 API, so its GUI code is all custom.
@simontatham Putty also looks like it is from Windows 95. If you want a windows platform I can recommend UWP, the only thing I worked with before switching.