Thread: Windows programming links

  1. #1
    Join Date
    Jan 2002

    Windows programming links

    Getting Started

    This thread is intended to act as a quick reference for getting started with programming with the windows application programming interface(api, win32api, winapi).

    Primary reference


    Platform Software Development Kit (PSDK)

    This is not normally necessary if using Borland compilers, MinGW (dev-cpp, or, probably, code::blocks). It is essential for windows api programming with microsoft compilers.

    Note that although the psdk does contain mfc (Microsoft Foundation Classes) it is for 64bit platforms only and their use is restricted; check the licence for details.

    Some Non-MFC C++ Class Libraries/Widgets(controls)

    • Programming Windows, 5th edition, Charles Petzold (ISBN: 1-57231-995-X)
    • Programming Applications for Microsoft Windows, 4th edition, Jeffrey Richter (ISBN: 1-57231-996-8)

    (For mfc: Programming Windows with MFC, 2nd edition, Jeff Prosise(ISBN: 1-57231-695-0))

    Compiler Specific:
    CProgramming FAQ
    Caution: this person may be a carrier of the misinformation virus.

  2. #2
    C++ Programmer
    Join Date
    Aug 2005
    Another very nice one:

    Focussed on C++, and uses a real OOP way of using the Win32 API.

  3. #3

  4. #4
    Registered User Codeplug's Avatar
    Join Date
    Mar 2003
    I would also like to add that the full MSDN library is available as a free download. There are currently two versions, one with Visual Studio 2005 documentation, and another containing Visual Studio 2008 documentation. If you don't use Visual Studio, then it doesn't matter which version you download. If you do use Visual Studio, then choose the correct version for proper integration with the IDE.

    During installation, you can choose which "components" to install - here are the major components:
    • Developer Knowledge Base Documentation (Knowledge Base Articles)
    • Office Developer Documentation
    • Mobile and Embedded Development
    • [dot]Net Development
    • Web Development
    • Win32 and COM Development
    • Development Tools and Languages (includes Visual Studio documentation)
    • Enterprise Servers and Development

    It's a large download, but it's nice to be able to search and browse the reference locally - specially when MSDN online "runs slow", or your internet is down

    There's no telling how long the following links will be valid. To find the latest MSDN for download, go the "Microsoft Download Center" and simply search with "MSDN library".

    Stand-alone MSDN Library (integrates with VS 2008)
    Stand-alone MSDN Library (integrates with VS 2005)


  5. #5
    Registered User
    Join Date
    Mar 2007
    Petzold is one of a kind among programming books. Not only that examples in the book are
    very succinct and always to the point, but virtually all of them "just work."

    You really can not find a better book. I did most of the examples in CodeWarrior, not even VC6,
    and I remember that I only had to fiddle with project settings on a few occasions - rarely did I
    need to change source code.

    And to stay to the topic, here's a few Win32 programming links:

    1. Books -
    2. Tutorials -

  6. #6
    Registered User
    Join Date
    Mar 2011
    An easy to start tutorial on win32:

    The Winapi (C Win32 API, No MFC) tutorial

  7. #7
    Registered User
    Join Date
    Dec 2010
    Trinidad, CO (log cabin in middle of nowhere)

    Error Early On In This Tutorial

    Referring to the above mentioned tutorial...

    C and C++ languages can use Windows API directly. Other languages use intermediary libraries. These libraries have been created in C or C++. So other languages call the Windows API indirectly. There is one exception. It is the Java Swing library.
    Completely false. I code directly to the Windows Api using PowerBASIC every day. Coding using that language is exactly as in C. For example, here is a CreateWindow() call..

    hWnd=CreateWindow(szAppName,"Form1",%WS_OVERLAPPEDWINDOW,200,100,325,300,0,0,hIns,ByVal 0)
    The link to User32.dll is through a declare such as this...

    Declare Function CreateWindowEx Lib "USER32.DLL" Alias "CreateWindowExA" _
    ( _
      BYVAL dwExStyle AS DWORD, _
      lpClassName AS ASCIIZ, _
      lpWindowName AS ASCIIZ, _
      BYVAL dwStyle AS DWORD, _
      BYVAL x AS LONG, _
      BYVAL y AS LONG, _
      BYVAL nWidth AS LONG, _
      BYVAL nHeight AS LONG, _
      BYVAL hWndParent AS DWORD, _
      BYVAL hMenu AS DWORD, _
      BYVAL hInstance AS DWORD, _
      lpParam AS ANY _
    ) As Dword
    That's about as direct as you can get, and isn't through 'intermediary libraries'. Perhaps I'm just nitpicking. Everything else I read sounded OK.

  8. #8
    Registered User
    Join Date
    Feb 2013
    Microsoft has published it's own tutorial :Learn to Program for Windows in C++ (Windows)
    It's a miracle that curiosity survives formal education - Albert Einstein

  9. #9
    Registered User Arhaikos's Avatar
    Join Date
    Jan 2016
    Thanks for the links

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Just starting Windows Programming, School me!
    By Shamino in forum Windows Programming
    Replies: 17
    Last Post: 02-22-2008, 08:14 AM
  2. how to make a windows application
    By crvenkapa in forum C++ Programming
    Replies: 3
    Last Post: 03-26-2007, 09:59 AM
  3. Question..
    By pode in forum Windows Programming
    Replies: 12
    Last Post: 12-19-2004, 07:05 PM
  4. IE 6 status bar
    By DavidP in forum Tech Board
    Replies: 15
    Last Post: 10-23-2002, 05:31 PM
  5. Manipulating the Windows Clipboard
    By Johno in forum Windows Programming
    Replies: 2
    Last Post: 10-01-2002, 09:37 AM