No announcement yet.

Complete list of Windows Messages

  • Filter
  • Time
  • Show
Clear All
new posts

  • Complete list of Windows Messages

    Trying to decipher some other problems I started to create a list of Windows Messages, but it occurred to me (Has this not already been done???)

    Does someone already have a complete list? (I have seen partials, but not total) so I thought I would ask before I waste a ton of time doing what has already been done.
    (For the time being I am mostly interested in messages that would be in "" but even checking that I have already found some that are not listed)
    Engineer's Motto: If it aint broke take it apart and fix it

    "If at 1st you don't succeed... call it version 1.0"

    "Half of Programming is coding"....."The other 90% is DEBUGGING"

    "Document my code????" .... "WHYYY??? do you think they call it CODE? "

  • #2
    There isn't a single list of Windows messages per se.

    The WM_ messages of course are generic that most windows can use.

    Each window class though has a whole set of unique messages. Buttons have different messages than a listview.

    The best way to examine the different window messages is to download the latest SDK from Microsoft. The current ones are in the gigabytes and must be burned to a DVD, rather than CD.

    I recently downloaded the SDK (for Vista) and it was 1.29 gig download (an ISO file) which I burned to a DVD.

    The SDK docs contain info about each control class and their different messages, notification messages, structures for those messages, etc.
    Chris Boss
    Computer Workshop
    Developer of "EZGUI"


    • #3
      Check post #20 by Dave Biggs in this thread :
      In some future era, dark matter and dark energy will only be found in Astronomy's Dark Ages.


      • #4
        If one does not have access to high speed internet to download the SDK, then the next best thing is the online version at MSDN.

        Check out the API docs for controls (and other stuff) here:

        The topics in this section discuss each control separately. The information for each control contains overviews that describe the control and how to use it, as well as programming elements that are used specifically with that control.

        Don't guess about controls and messages.
        Don't expect an "easy list" about all the messages.

        Research each control thoroughly using the Windows SDK (docs). Each section about each control has info about the window styles supported, new features, messages supported (and detailed descriptions), notification messages and any structures (types) used by such messages.

        This is not a quick read, but if you really want to learn how to use the API and all the messages for each control, its the only way to learn.
        Chris Boss
        Computer Workshop
        Developer of "EZGUI"


        • #5
          Cliff, I remember asking the same question when I first started posting here late last year - and got the same "No" answer, so I made my own.

          I find the online MSDN listing of messages and notifications to be a great place to learn about the various messages/notifications. Each of the reference sections have tutorials that give an overview of how the various messages/notifications are used.

          While it may not be a "complete" list, I think the list I made I covers the majority of what most PowerBASIC programmers might need - although I realize every programmer's needs vary.

          Here's the online copy (look near the bottom of the page - two horizontal scrolling areas with the information) from my PowerBASIC tutorial section.

          I simply went to the MSDN sections: apps, windows, dialogs, common controls, menu, cursor, icons, timer, keyboard, keyboard accelerators, mouse, GDI, clipboard, and shell. I also went to the 21 sections for the individual common controls. From all of those I captured the messages and notifications (styles also).

          If the online copy isn't what you need, let me know and I'll post the Excel version.
          Last edited by Gary Beene; 21 Jul 2009, 11:55 PM.


          • #6
            Nice reference Gary!

            For all:

            While seeing a list of the messages available is nice, I still stand by the need to have a copy of the API docs (SDK). Knowing the names of messages has little value if one does not have a complete description of the message as well and how to use it.

            If one is going to write software using the Windows API (even DDT) then one should have a copy of the Windows SDK docs. You just can't handle the API without it. How often people ask questions on the forums about is there a message for this or that or any API for this or that. If one had the API docs then you would be able to answer 90% of the questions asked.

            Now of course the API docs were written for C programmers rather than PowerBasic, so the forums are invaluable to get clarifications of stuff in the API docs, but still the API docs are a must IMO.

            Microsoft provides this for free and you can download the latest docs. One warning though, the docs are huge. I just loaded the Vista SDK recently and it was 1.29 gigabytes in size. You need high speed internet to get the latest Windows docs.

            When I write code, I often have the SDK docs running at the same time and I switch back and forth between them.
            Chris Boss
            Computer Workshop
            Developer of "EZGUI"


            • #7
              >I still stand by the need to have a copy of the API docs (SDK).

              Or, be able to look 'em up on-line...

              Gain technical skills through documentation and training, earn certifications and connect with the community

              Sometimes (not often) those descriptions are corrected/updated when prior versions are in error. I have SDK on disk so I only use this when something is not working as advertised... or at least, as advertised in October 2002 (date of my reference).

              Michael Mattias
              Tal Systems (retired)
              Port Washington WI USA
              [email protected]


              • #8
                I'd agree with Chris about having documentation close at hand. Even when I have summary data close by, I often find my self jumping to MSDN for more details.

                Another good thing about the SDK docs, or the MSDN reference sections, it that digging through the morass of documentation helps you learn things you would not otherwise learn.

                However, the failing of such documentation is to present critical information in a usable, summary format. There are times when you just want the answer, or simply want to refresh a memory - you don't want to take, or don't have, the time at the moment to spend on a prolonged search or reading/learning adventure.

                I'm working on better summaries, including lookup software, the start of which I referenced on my web site. Like Cliff, I believe I can be more productive with such summary information at hand. I already have a list of message descriptions (on the messages/notifications that seems to be central to the kinds of programs I write), as well as summaries of the arguments the messages take. When I'm writing code, and can't remember whether it's (0,-1) or (-1,0), the SDK/MSDN approach is overkill, whereas my summary lists hit the spot.

                I should be able to post what I have later this week. With this crowd, an error in a post is an invitation for a slap-down, so I'd like to make sure what I release gives minimal opportunity in that arena.

                And, BTW, that's actually a good thing about these forums. The hard core long-timers generally make sure that precision on posts (mostly) reigns. It may be intimidating for the newbies, who hesitate to post for fear of being publically corrected, but accuracy of information is and should be king.

                Not that there aren't topics with no "correct" answer, such as the recent discussion about dynamic strings in UDTs. But at least the issues get put forward.
                Last edited by Gary Beene; 22 Jul 2009, 10:13 AM.