That's not true about making a window.... you can create a window (from a dialog resource) with 1 line of code, for example:
hWnd = CreateDialog(hInst,MAKEINTRESOURCE(IDD_DIALOG),NULL,DialogProc);
Destroying the window is done with even less code.
Of course you have to put your own code in DialogProc but that's no different than "Events" or whatever they're called in C# or VB.NET.
Coco: Like, there isn't really a good way to make for example, a static procedure that can be accessed from anywhere in the program without having to first instantiate the class that it's living in. Sure, you can declare program wide methods in a common class and create a global instance of it, but you shouldn't have to.
The only thing like this is the methods of the System class.
It would be much easier if it had a "static" or "extern" keyword like C++.