What a quantum leap to go from DOS to Windows programming without any formal
training. I tried many times and got so many headaches that I almost
gave up. The main difference that you must learn is the way Windows
works. In DOS, you programmed your logic statements and Made DOS
interrupt calls to communicate with the operating system to perform screen
IO, File IO, etc. In high level languages - you were shielded from
this with statements that made the Interrupts for you.
In Windows - you perform all of these tasks via calls to Functions
within Window's DLLs. But there is another important difference -
Windows also Calls entry points in your program to let you know when something
has changed! And to achieve multitasking - Windows uses a concept
of a Message Queue. Msgs are placed on the queue for your program
to retrieve - take an appropriate action and then go and check for more
messages. If there are no more msgs pending - Windows gives control
over to another program that has pending messages.