Author Topic: Common and Uncommon Window Classes  (Read 4737 times)

guga

  • Moderator
  • Member
  • *****
  • Posts: 826
  • Assembly is a state of art.
    • RosAsm
Common and Uncommon Window Classes
« on: September 09, 2014, 03:28:17 PM »
Here is a list of 63 common and "not so common" Window Classes that can be used with CreateWindowsEx or other methods that uses their dlls loaded (as in mfc classes)

Code: [Select]
WC_BUTTON “Button”
WC_COMBOBOX “ComboBox”
WC_COMBOBOXEX32 "ComboBoxEx32"
WC_COMBOLBOX “ComboLBox”
WC_COMMCTRL_DRAGLISTMSG “commctrl_DragListMsg”
WC_CONTROLBAR “AfxControlBar”
WC_DDEMLEVENT “DDEMLEvent”
WC_DESKTOP “#32769”
WC_DIALOGBOX “#32770”
WC_EDIT “Edit”
WC_HTML_INTERNET_EXPLORER “HTML_Internet Explorer”
WC_ICONTITLE “#32772”
WC_IE “Internet Explorer_Server”
WC_LISTBOX “ListBox”
WC_MDICLIENT “MDIClient”
WC_MENU “#32768”
WC_MESSAGE “Message”
WC_MFCDIALOGBAR “MfcDialogBar”
WC_MFCFRAME “MfcFrame”
WC_MFCMDICHILD “MfcFrameMDIChild”
WC_MFCMDIFRAME “MfcFrameMDI”
WC_MFCMINIDOCKFRAME “MfcFrameMiniDock”
WC_MFCMINIFRAME “MfcFrameMini”
WC_MFCSPLITTER “MfcSplitter”
WC_MFCVIEW “MfcView”
WC_MFCWND “MfcWnd”
WC_MSCTLS_HOTKEY32 "msctls_hotkey32"
WC_MSCTLS_PROGRESS32 "msctls_progress32"
WC_MSCTLS_STATUSBAR32 "msctls_statusbar32"
WC_MSCTLS_TRACKBAR32 "msctls_trackbar32"
WC_MSCTLS_UPDOWN16 “msctls_updown”
WC_MSCTLS_UPDOWN32 "msctls_updown32"
WC_MSTASKSWWCLASS “MSTaskSwWClass”
WC_NATIVEFONTCTL “NativeFontCtl”
WC_OCHOST "OCHost"
WC_OPENLISTVIEW “OpenListView”
WC_REBARWINDOW32 "ReBarWindow32"
WC_RICHEDIT “Richedit”
WC_RICHEDIT20 “RichEdit20W”
WC_RICHEDIT20A "RichEdit20a"
WC_RICHEDIT50W "RichEdit50W"
WC_SCROLLBAR “Scrollbar”
WC_SHDOCOBJVW “Shell DocObject View”
WC_SHELLDLLDEFVIEW “SHELLDLL_DefView”
WC_SHELLEMBEDDING “Shell Embedding”
WC_STATIC “Static”
WC_SWITCHWND “#32771”
WC_SYSANIMATE32 "SysAnimate32"
WC_SYSDATETIMEPICK32 "SysDateTimePick32"
WC_SYSHEADER32 "SysHeader32"
WC_SYSIPADDRESS32 "SysIPAddress32"
WC_SYSLINK "SysLink"
WC_SYSLISTVIEW32 "SysListView32"
WC_SYSMONTHCAL32 "SysMonthCal32"
WC_SYSPAGER "SysPager"
WC_SYSTABCONTROL32 "SysTabControl32"
WC_SYSTREEVIEW32 "SysTreeView32"
WC_THUMBNAILVIEW “ThumbnailVwExtWnd32”
WC_TOOLBARWINDOW32 "ToolbarWindow32"
WC_TOOLTIPS_CLASS16 “tooltips_class”
WC_TOOLTIPS_CLASS32 "tooltips_class32"
WC_TRAYCLOCKWCLASS “TrayClockWClass”
WC_TRAYNOTIFYWND “TrayNotifyWnd”

Plus, to avoid that a info of one specifc control is gone forever i´m posting here the 3 major articles i found about "commctrl_DragListMsg"

Btw. Some of their Labels are not the same as in Windows C sources i have. I labeled all as "WC_" to make easier to understand what it is

If someone find more, please post here to we fill the list :)
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of alcoholic levels in your blood.

My Code Sites:
http://rosasm.freeforums.org
http://winasm.tripod.com

dedndave

  • Member
  • *****
  • Posts: 8749
  • Still using Abacus 2.0
    • DednDave
Re: Common and Uncommon Window Classes
« Reply #1 on: September 09, 2014, 11:46:08 PM »
some of the classes have "official" constant names that do not have a WC_ prefix
of course, the constant names are of little use in assembler   :P
we need a zero-terminated string to use them (except for the class atoms)

http://msdn.microsoft.com/en-us/library/windows/desktop/bb775491%28v=vs.85%29.aspx
notice the Community Additions section
it mentions that they are defined in commctrl.h
i am using XP, and an older PSDK, so it wouldn't do much good for me to look it up
but, you may find more if you look in the newer (win7/8) PSDK's

that brings up an interesting "flaw" in windows constants
the WC_ prefix is used for some of the Window Classes, but not most of them
the same WC_ prefix is also used for a few specific "WideChar" defines (WideCharToMultiByte flag constants)
a little confusing - and something MS doesn't usually do (use the same prefix for different things)

the one you have listed as WC_DIALOGBOX “#32770” is officially named WC_DIALOG
Code: [Select]
#define WC_DIALOG (MAKEINTATOM(0x8002))  ;make integer class atom C macro
on a related note....

http://masm32.com/board/index.php?topic=3586.0

guga

  • Moderator
  • Member
  • *****
  • Posts: 826
  • Assembly is a state of art.
    • RosAsm
Re: Common and Uncommon Window Classes
« Reply #2 on: September 10, 2014, 05:07:34 AM »
Hi dave

Tks

THis link is one from where i retrieved the information. I also saw in my sources from win2k, winNT and winXP research kernel, but i don´t have from win7/8. Where to dl the newer psdk files ? I mean, is there some place where i can dl them without installing ? For example, a rar file containing the headers and sources etc ?

About the names, yes...All are null terminated strings. Even WC_DIALOG have a equivalent string name "#32770" and not only an atom.

Here i didn´t created the Unicode Form. I only searched for their names while i was testing a ColorPicker example that Steve uploaded, but i´ll try later put the Unicode Counterpart.

For the colorpicker example, i´m trying to create a few functions to subclass the windows forms allowing the usage of colors, fonts, images on them. This would be good for the next updatesi plan to RosAsm that will convert a dialog resources in Windows Forms, but allowing colors, images etc, as we see in VB or Delphi.
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of alcoholic levels in your blood.

My Code Sites:
http://rosasm.freeforums.org
http://winasm.tripod.com

adeyblue

  • Member
  • **
  • Posts: 89
    • Airesoft
Re: Common and Uncommon Window Classes
« Reply #3 on: September 10, 2014, 06:22:36 AM »
THis link is one from where i retrieved the information. I also saw in my sources from win2k, winNT and winXP research kernel, but i don´t have from win7/8. Where to dl the newer psdk files ? I mean, is there some place where i can dl them without installing ? For example, a rar file containing the headers and sources etc ?

MS don't seem to want to offer an SDK iso anymore (at least I couldn't find one), and the small exe downloader they give will insist on installing .Net 4.5 before telling you it wont install the headers/libs if you're not on Win 8. Anyway, I mined the component URLs and made my own ISO. The links to the individual components are there too so you don't have to d/l 565MB for just two things. It contains everything the installer can download though, not a dump of the headers/libs.

I'm kind of in awe as how they've made what are essentially a bunch of text files and a few libs require a total of 29 installers, 19 installer patches, and 110 cabs.

guga

  • Moderator
  • Member
  • *****
  • Posts: 826
  • Assembly is a state of art.
    • RosAsm
Re: Common and Uncommon Window Classes
« Reply #4 on: September 10, 2014, 06:47:41 AM »
Amazing. TKS TKS TKS  :t :t :t
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of alcoholic levels in your blood.

My Code Sites:
http://rosasm.freeforums.org
http://winasm.tripod.com

adeyblue

  • Member
  • **
  • Posts: 89
    • Airesoft
Re: Common and Uncommon Window Classes
« Reply #5 on: September 10, 2014, 07:29:11 AM »
Since I guess most will just want the h/lib's, I ripped just the bare installed SDK directory I've put it here (22 MB 7z expanding to 280 MB) since I've forgotten my mega password.

dedndave

  • Member
  • *****
  • Posts: 8749
  • Still using Abacus 2.0
    • DednDave
Re: Common and Uncommon Window Classes
« Reply #6 on: September 10, 2014, 09:14:24 AM »
you can get the ISO's for windows 7

http://msdn.microsoft.com/en-US/windows/desktop/ff851942.aspx

it's probably not required to create the UNICODE versions
in assembler, we have to create a string, anyways
so, if a programmer wants a UNICODE class name string, he'll probably use a macro

dedndave

  • Member
  • *****
  • Posts: 8749
  • Still using Abacus 2.0
    • DednDave
Re: Common and Uncommon Window Classes
« Reply #7 on: September 10, 2014, 10:44:50 AM »
these are from the win7-32 bit (dotnet 4) PSDK

there are 2 versions - one is international, i think

guga

  • Moderator
  • Member
  • *****
  • Posts: 826
  • Assembly is a state of art.
    • RosAsm
Re: Common and Uncommon Window Classes
« Reply #8 on: September 10, 2014, 01:05:52 PM »
Many tks guys

I´ll try to organize them to search for more classes

Btw. The exe files from win8 (The 22Mb file) also works on winXP :icon_mrgreen:
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of alcoholic levels in your blood.

My Code Sites:
http://rosasm.freeforums.org
http://winasm.tripod.com

dedndave

  • Member
  • *****
  • Posts: 8749
  • Still using Abacus 2.0
    • DednDave
Re: Common and Uncommon Window Classes
« Reply #9 on: September 10, 2014, 05:48:58 PM »
i have visual studio 2005 installed
if you install one of the newer PSDK's (win7+), VS2005 won't work properly
at least, that's what i've read in the installation notes

i have a 2003 PSDK installed, and i don't want it messed up   :P