Ziggle() : A handy tool to lookup Win32 Constants

Post your working scripts, libraries and tools.
User avatar
SKAN
Posts: 1551
Joined: 29 Sep 2013, 16:58

Ziggle() : A handy tool to lookup Win32 Constants

30 Jan 2022, 07:46

Ziggle( hEdit, Rows, Cols, HideButtons? )

About the data file:
 
The bulk of the data was parsed out from header files of Zig Programming Language, available at GitHub
  • Data is plain text in unix file format.
  • The data starts immediately after the marker .data..
  • Records are delimited with a solitary linefeed.
  • Each record has 2 fields: Value followed by Constant, separated by a Tab character.
  • Downloads
 
Parameters:
 
  • hEdit
    Optional. A handle to Edit control (Edit, RichEdit, Scintilla etc.)
    By default Copy and Paste buttons will copy selected data (check-marked) to clipboard.
    If this parameter set, then Paste would (additionally) message the control to paste the text available in clipboard.
     
  • Rows, Cols
    The UI can be shown larger or smaller by using these.
    • Rows is number of rows visible in ListView.
    • Cols is number of characters in Switch indicator, the first text control in UI.
     
  • HideButtons?
    Hides the buttons. (One doesn't need them if they can remember the Accelerator keys).
    Call Ziggle() without last 3 parameters to load UI in its default size/state.
    The screenshots in this topic have been made with Ziggle(hEdit, 6, 60, True).
 
Usage/Call example:
 

Code: Select all

#Requires AutoHotkey v2.0-
#SingleInstance

HotIfWinActive("ahk_class Notepad")              ;  Pass your editor's classname
Hotkey( "F2", (*) => Ziggle(  ControlGetFocus()  ;  hEdit
                            , 6                  ;  Rows
                            , 60                 ;  Cols
                            , True               ;  Hide buttons
                           )
      )
HotIfWinActive()
  • Run the code
  • Press F2 when Notepad is active.
  • Search for constants.
  • Use Checkboxes in ListView to select them.
  • Use Accelerator Alt+V or press [Enter] to paste/dismiss UI. When/if visible, one may also Click Paste button.
  • Use Accelerator Alt+C to copy/dismiss UI. When/if visible, one may also Click Copy button.
 
ListView shortcuts  (When ListView has focus).
 
  • Ctrl+C will copy the current selected item to clipboard.
  • Ctrl+V will copy/paste the current selected item to background Edit control.
     
    Web-search current selected item: 
  • F1 : MagnumDB
  • F2 : Microsoft docs
  • F3 : AutoHotkey
 
Auto mode
 
When in auto-mode, Ziggle will monitor clipboard activity and auto-replace or auto-insert constants into your editor.
 
  • Use accelerator Alt+A to enter Auto-mode. When/if visible, you may also Click Auto button.
  • Minimize Ziggle prompt.
  • Type a constant in your editor, select it (accurately) and copy it.
    Ziggle will replace it with a found record.
  • Now, minimize your editor too.
  • Visit any MS docs page and start copying Constants from it (need not be very accurate, Trim() will take care).
    Ziggle will auto-insert them into your editor, with a found record.
 
Switches for search:
 
The default search behavior:
  • Search input will accept only Uppercase characters.
    Click Caps button or press accelerator key Alt+S to toggle it.
  • Search term is case-sensitive.
  • Search term will be matched anywhere in a record.
  • Search term can be prefixed with switches to alter the default behavior.
    Watch the indicators to get a feel of how the results are being enumerated.
 
Matching
Use < switch to find Constants beginning with the search term,
or > switch to find Constants ending with the search term,
or both switches <> to find an exact match.
 
Refine results
At times, results returned could be large.
Use | switch followd by additional search term to perform a search in search results.
For example <EM_ would match 198 results. <EM_|SEL would refine original results to only those that have SEL in it.
 
Image
 
Case sensitivity
Use / switch to perform a case-insensitive search. (.. without having to toggle caps).

A vast majority of constants are in uppercase.
Case-sensitive search can be as high as 5 times faster than a case-insensitive search.
These are the reasons why the input control defaults to uppercase and default search is case-sensitive.
Always use / switch when searching for GdiPlus enums.
 
Image
 
Searching a value
Use ? switch to search for a Value instead of a Constant.
For example, Ziggle prompt is styled +AlwaysOnTop using E8 in options.

Code: Select all

MyGui :=  Gui("+DpiScale E8", MyTitle)
To find constant for the extended style E0x8, one could use the search term ?8 (or ?0x8).
But that would enumerate 3600 results. One may/should already know windows extended styles are prefixed with WS_EX_,
in which case the search term ?8|WS_EX_ would give us the answer.
Note that all indicators are lit up.
 
Image

Hot / Cold search
Ziggle prompt doesn't have a GO button.
By default, the searches are Hot.. meaning results will change instantly while typing*.
*Note : minimum search term length is 2 characters, excluding any switches.

To do a cold search, prefix and suffix the search term with a space.
This will work correctly except in a few specific cases like follows:
For example, if one is searching for a value and typing it like ? WINDOWS NT ACCESS PROVIDER,
the search would have been triggered 4 times by the time the ending space was entered.
 
A cold search works even for a single character, but note that I have imposed a limit of 10,000 rows for the ListView.
 
Image
 
 
 
Thanks
@jeeswg for suggesting/getting implemented an important change to InStr Occurrence parameter.
@just me / @swagfag for helping me: Virtual ListView 10000 rows, high CPU time
@TheArkive for all the enthusiasm and support shown/offered towards this project.
@neogna2 for useful suggestions.
@eugenesv for contribution to data.
 
 
The Function:
 
Requires data file Ziggle.txt (5.13 MiB) available in Ziggle1.zip (1.44 MiB)
Requires data file Ziggle.txt (6.22 MiB) available in Ziggle2.zip (1.79 MiB)
Requires data file Ziggle.txt (6.22 MiB) available in Ziggle3.zip (1.79 MiB)
Requires data file Ziggle.txt (6.59 MiB) available in Ziggle4.zip (1.87 MiB)
 

Code: Select all

Ziggle( P_Ctrl:=Unset, P_Rows:=16, P_Cols:=120, P_Hide:=0, * )               ;                Ziggle() v0.31
{                                                                            ;          By SKAN on D514/D52I
    Static S_GuiWnd   :=  ""                                                 ;    @ autohotkey.com/r?t=99581

    Local  TickCount  :=  A_TickCount

    Local  MyTitle  :=  "Ziggle prompt : Win32 constants"
        ,  DataFile :=  "ziggle.txt"
        ,  LF       :=  Chr(10) ; line feed
        ,  Quote    :=  Chr(34) ; double quote
        ,  Hay      :=  ""

    P_Rows  :=  Min(256, Max( 4, Format("{:d}", P_Rows)))
    P_Cols  :=  Min(256, Max(60, Format("{:d}", P_Cols)))

    If   WinExist(MyTitle "ahk_id" S_GuiWnd)
         Return WinActivate()

    Local  Pos1
        ,  Pos2
        ,  Pos3

    Try    Hay :=   FileRead(DataFile, LF)

                    HayGetValue(Str1, Str2)
                    {
                        Pos1  :=  InStr(Hay, Str1, True)
                        Pos2  :=  Pos1 ? InStr(Hay, Str2, True, Pos1+1) : 0
                        Return SubStr(Hay, Pos2 ? Pos1 + StrLen(Str1) : 0, Pos2 - Pos1 - StrLen(Str1))
                    }

    Local  HaySize  :=   StrLen(Hay)
        ,  Debug    :=   HayGetValue(LF  "Debug=",     LF)
        ,  Count    :=   HayGetValue(LF  "Constants=", LF)
        ,  nData    := ( nData := InStr(Hay, LF  ".data."  LF, True) )
                       ? nData + 7
                       : 0

    If  not (Count Or nData)
        Return MsgBox("Datafile error", "Ziggle", "Iconx")

    Local Hay2
                    StrSet(&Str, Chars:=0)
                    {
                        If  Chars > -1
                            Return  VarSetStrCapacity(&Str, Chars)
                       Else NumPut("short", 0, StrPtr(Str))
                            Return  VarSetStrCapacity(&Str, -1)
                    }

                    StrSet(&Hay2, 512*1024) ; 1 MiB

    Local MyGui

    MyGui           :=  Gui("+DpiScale E8", MyTitle)
    S_GuiWnd        :=  MyGui.Hwnd
    MyGui.MarginX   :=  16
    MyGui.MarginY   :=  12

    Local  Indi
        ,  Ord1     :=  0x25A1                 ;  unicodeplus.com/U+25A1  and  unicodeplus.com/U+259D
        ,  Ord2     :=  0x25CB                 ;  unicodeplus.com/U+25CB  and  unicodeplus.com/U+25CF
        ,  FormatStr:=  "{1:} / InSense    {2:} < Match   {3:} > Match   {4:} ? Val    {5:} | Refine"

                    MyGui.SetFont("s10", "Consolas")

    Indi       :=   MyGui.AddText("xm ym 0x200 Right", Format("{:" P_Cols "}", ""))
                    Indi.Text := Format(FormatStr,Chr(Ord1),Chr(Ord1),Chr(Ord1),Chr(Ord1),Chr(Ord1))

    Local  Edit1
        ,  MaxX
        ,  MaxW
        ,  MaxH
        ,  RM
                    MyGui.SetFont("s12")

    Edit1      :=   MyGui.AddEdit("xm y+m wp +Uppercase Limit128")
                    Edit1.GetPos(&MaxX,,&MaxW, &MaxH)
                    RM := MaxW + MaxX
                    SendMessage(0xD3, 0x3, Format("0x{2:04X}{1:04X}", 16*(A_ScreenDPI/96), 4), Edit1.Hwnd)
                    Edit1.OnEvent("Change", OnQuery)

    Local  AutoState := 0
         , CapsState := 1
         , Auto
         , Caps
         , RowNumber
         , RowCount

                    MyGui.SetFont("s12", "Calibri")

    Auto       :=   MyGui.AddText("xm+8 y+4 w48  h28 0x200",       Chr(Ord2+0) " Auto")
    Caps       :=   MyGui.AddText("x+4  yp  w48  hp  0x200 Right", Chr(Ord2+4) " Caps")
    RowNumber  :=   MyGui.AddText("x" RM-(48*1)   " w48 yp hp 0x200 Right", 0)
    RowCount   :=   MyGui.AddText("x" RM-(48*2)-8 " w48 yp hp 0x200 Right", 0)
    Count      :=   MyGui.AddText("x" RM-(48*4)   " w80 yp hp 0x200 Right", "( " Count " )")

    Local  MyLV
        ,  ColW     :=  MaxW
        ,  Constant :=  ""
        ,  Value    :=  ""
        ,  Checked  :=  0
        ,  ItemState:=  0

                    MyGui.SetFont("s11", "Consolas")

    MyLV       :=   MyGui.AddListView(
                          "xm w" MaxW " y+8 -hdr -multi +grid +checked LV0x10000 count10000 r" P_Rows
                        , ["Constant"," Value"]
                        )

                    ColW := ( ColW -= (((SysGet(2)/A_ScreenDPI)*100)+8) ) / 100
                    MyLV.ModifyCol(1, ColW * 54)
                    MyLV.ModifyCol(2, ColW * 46)
                    MyLV.OnEvent("ItemSelect",   MyLV_ItemSelect)
                    MyLV.OnEvent("ItemCheck",    MyLV_ItemCheck)
                    MyLV.OnEvent("DoubleClick",  MyLV_DoubleClick)
                    MyLV.OnNotify(-155,          MyLV_KeyDown) ; LVN_KEYDOWN

    Local  Push1
         , Push2
         , Push3
         , Push4
         , Push5

                    MyGui.SetFont("s11", "Calibri")

                    AutoMode(*)
                    {
                        If  not IsSet(P_Ctrl)
                            Return

                          If  AutoState  =   1
                              AutoState  :=  0
                           ,  Auto.Text  :=  Chr(Ord2+0) " Auto"
                           ,  OnClipboardChange(OnClipChange, False)

                        Else  AutoState  :=  1
                           ,  Auto.Text  :=  Chr(Ord2+4) " Auto"
                           ,  OnClipboardChange(OnClipChange, True)
                    }

    Push1      :=   MyGui.AddButton("xm y+12 w76 -Tabstop h" (P_Hide ? 0 : 28) , "&Auto")
                    Push1.OnEvent("Click", AutoMode)

                    EditCaps(*)
                    {
                        CapsState  :=  not CapsState
                        Caps.Text  :=  CapsState ? Chr(Ord2+4) " Caps" : Chr(Ord2+0) " Caps"
                        Edit1.Opt(CapsState ? "+UpperCase" : "-Uppercase")
                    }

    Push2      :=   MyGui.AddButton("x+8 yp wp hp   -Tabstop", "Cap&s")
                    Push2.OnEvent("Click", EditCaps)

    Push3      :=   MyGui.AddButton("x" RM-(76*2)-8 " yp wp hp -Tabstop", "&Copy")
                    Push3.OnEvent("Click",  (*) => Paste(False))

    Push4      :=   MyGui.AddButton("x" RM-(76*1)-0 " yp wp hp -Tabstop +Default", "Paste")
                    Push4.OnEvent("Click",  (*) => Paste( True))

    Push5      :=   MyGui.AddButton("x+0 yp w0 h0 -Tabstop", "&V")
                    Push5.OnEvent("Click",  (*) => Paste( True))

    Local  MySB
                    MyGui.SetFont("s10", "Calibri")

    MySB      :=    MyGui.AddStatusBar()
                    MySB.SetParts(MyGui.MarginX, RM-MaxX)

                    GuiClose(*)
                    {
                        OnClipboardChange(OnClipChange, False)
                        StrSet(&Hay,  0)
                        StrSet(&Hay2, 0)
                        Return  MyGui.Destroy()
                    }

    MyGui.OnEvent("Close",  GuiClose)
    MyGui.OnEvent("Escape", GuiClose)

    Local  TrimChrs  :=  "`r`n`t,. /<>?;:[]{}\|!@#$%^&*()+-=~``" . "'" . '"'
        ,  tHwnd     :=  0
        ,  InFocus   :=  0
        ,  Found     :=  0
        ,  Str       :=  ""
        ,  All       :=  ""
        ,  ClipSaved :=  ""

    Local  CaseSense
        ,  Sought
        ,  MatchLeft
        ,  MatchRight
        ,  Refine
        ,  Val
        ,  I
        ,  T

    Local  Query    :=  []
        ,  Selected :=  Map()
        ,  PrvQuery :=  ""
        ,  Switches :=  ""
        ,  nResults :=  0
        ,  nRefined :=  0

                    MyGui_Size(_, MinMax, *)
                    {
                          If  MinMax = -1                           ; when minimized, lose TOPMOST style and
                              MyGui.Opt("-AlwaysOnTop +ToolWindow") ; remove icon from alt-tab list
                           ,  WinMoveBottom(MyGui.Hwnd)             ; and move to the bottom of z-order
                           ,  MyGui.Opt("-ToolWindow")              ; and add icon as last item in alt-tab
                        Else  MyGui.Opt("+AlwaysOnTop")
                    }

    MyGui.OnEvent("Size", MyGui_Size)

    Edit1.Focus()
    MyGui.MarginY   :=  P_Hide ? 0 : 12
    MyGui.Show()

    Tickcount   :=  Format("{:.15g}", (A_TickCount-TickCount)/1000)

                    MySB_Tip(Text, TimeOut := 2000)
                    {
                        Try MySB.SetText(RTrim( A_Space Text, A_Space), 2)
                        If  TimeOut
                            SetTimer((*) => MySB_Tip("", 0), 0 - Abs(Timeout))
                    }

    MySB_Tip("Loading completed in " TickCount "s")


                    ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                    ;                                                                   General routine(s) 1

                    FormattedValue(Value)
                    {
                        Local newValue

                          If  InStr(Value,"[",, 2, -1) and InStr(Value,"]",, -1, 1)
                          Or  InStr(Value,"(",, 2, -1) and InStr(Value,")",, -1, 1)
                              Value     .=  ""

                        Else

                          If  IsFloat(Value)
                              newValue  :=  Format("{1:.15g} {2:} {1:}", Value, ";")
                           ,  Value     :=  StrLen(newValue) < StrLen(Value)
                                         ?  newValue
                                         :  Value
                        Else

                          If  IsInteger(Value)
                              newValue  :=  Value
                           ,  Value     :=  StrLen(Value) < 3
                                         ?  Format("{1:} {2:} 0x{1:X}", Value, ";")
                                         :  Format("0x{1:X} {2:} {1:}", Value, ";")
                           ,  Value     .=  newValue<0
                                         ?  Format(" (uint32: 0x{1:8X})", newValue & 0xffffffff)
                                         :  ""

                        Else

                          If  not InStr(Value,Quote)
                              Value     :=  Format("{2:}{1:}{2:}", Value, Quote)

                        Return Value
                    }

                    ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                    ;                                                             Edit routine 1:  OnQuery()

                    OnQuery(*)
                    {
                        Sought  :=  False
                           , I  :=  0
                           , T  :=  Edit1.Text

                        If  not StrLen(T)
                            Return (  MyLV.Delete()
                                   ,  RowCount.Value  :=  0
                                   ,  RowNumber.Value :=  0
                                   ,  PrvQuery := ""
                                   )

                        Loop  Parse, T
                             If  InStr('_-+[]{}();:,#0123456789abcdefghijklmnopqrstuvwxyz"', A_LoopField)
                            and  I := A_Index
                                 Break

                        Switches    :=  SubStr( T, 1
                                                    ,  I=1  ?  0
                                                    :  I>1  ?  I-1
                                                    :  StrLen(T)
                                              )
                        CaseSense   :=  1
                        MatchLeft   :=  0
                        MatchRight  :=  0
                        Val         :=  0

                        Query       :=  StrSplit( SubStr(T, StrLen(Switches)+1) . "|", "|", A_Space)
                        Refine      :=  not not Query[2]

                        Switches    :=  ( InStr(Switches,"/") ? "/" : "" )
                                      . ( InStr(Switches,"<") ? "<" : "" )
                                      . ( InStr(Switches,">") ? ">" : "" )
                                      . ( InStr(Switches,"?") ? "?" : "" )
                                      . ( InStr(Switches," ") ? " " : "" )

                        If  not StrLen(Query[1])
                            Return

                        If  InStr(Switches, "/", True)
                            CaseSense  :=  False

                        If  InStr(Switches, "?")
                            Query[1]   :=  IsNumber(Query[1]) and IsInteger(Query[1])
                                        ?  LF Format("{:d}", Query[1]) A_Tab
                                        :  IsNumber(Query[1]) and IsFloat(Query[1])
                                        ?  LF Format("{:.15G}", Query[1]) A_Tab
                                        :  InStr(Query[1], A_Space) and not InStr(Query[1], Quote)
                                        ?  LF Quote Query[1] Quote A_Tab
                                        :  LF Query[1] A_Tab

                         ,  CaseSense  :=  0
                         ,  MatchLeft  :=  1
                         ,  MatchRight :=  1
                         ,  Val := 1

                        Else
                        {
                            If  InStr(Switches, "<", True)
                                Query[1]   :=  A_Tab  Query[1]
                             ,  MatchLeft  := 1

                            If  InStr(Switches, ">", True)
                                Query[1]   :=  Query[1]  LF
                             ,  MatchRight := 1
                        }

                        Indi.Text      :=  Format( FormatStr
                                                            , Chr(Ord1 - !CaseSense)
                                                            , Chr(Ord1 - MatchLeft)
                                                            , Chr(Ord1 - MatchRight)
                                                            , Chr(Ord1 - Val)
                                                            , Chr(Ord1 - Refine)
                                                 )

                         If  InStr(Switches, A_Space, True)  and
                        not  InStr(T, A_Space, True, -1, 1)
                             Return

                         If  StrLen(Query[1]) < 1
                             Return

                         If  StrLen(Query[1]) = 1 and
                        not  InStr(Switches, A_Space, True)
                             Return

                        Sought   :=   True
                        SetTimer((*) => Search(), -1)


                                        ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                        ; OnQuery() subroutines 3:  Search() / MainSearch() / RefineSearch()

                                        Search(*)
                                        {
                                            If  ( Switches . Query[1] )  !==  PrvQuery
                                                  PrvQuery := Switches . Query[1]
                                                , MainSearch(Query[1])

                                            If  StrLen(Query[2])
                                                RefineSearch(Query[2])

                                            Sought := False
                                        }


                                        MainSearch(Q)
                                        {
                                            StrSet(&Hay2, -1)

                                            Hay2      :=  LF
                                            nResults  :=  0

                                            Pos1      :=  0
                                         ,  Pos2      :=  nData
                                         ,  Pos3      :=  0
                                         ,  Found     :=  1

                                            If  not Query[2]
                                                MyLV.Opt("-Redraw")
                                             ,  MyLV.Delete()

                                            While   Sought
                                              and ( nResults := A_Index ) < 10001
                                              and ( Found := InStr(Hay, Q, CaseSense, Pos2) )
                                            {
                                                    If  A_Index = P_Rows+1
                                                        MyLV.Modify(1, "Select Focus")
                                                      , MyLV.Opt( "+Redraw" )
                                                      , Sleep(-1)
                                                      , MyLV.Opt( "-Redraw" )

                                                    Pos1    :=   SubStr(Q,1,1) = LF
                                                            ?    Found
                                                            :    InStr(Hay, LF, CaseSense, Found, -1)
                                                  , Pos2    :=   InStr(Hay, LF, CaseSense, Pos1, 2)
                                                  , Pos3    :=   InStr(Hay, A_Tab, CaseSense, Pos2, -1)
                                                  , Hay2    .=   Substr(Hay, Pos1 + 1, Pos2 - Pos1 - 1)  LF

                                                    If not Query[2]
                                                       MyLV.Add("", SubStr(Hay, Pos3 + 1, Pos2 - Pos3 - 1)
                                                                  , SubStr(Hay, Pos1 + 1, Pos3 - Pos1 - 1))
                                            }

                                            If  not Query[2]
                                                 MyLV.Modify(1, "Select Focus")
                                              ,  MyLV.Opt("+Redraw")
                                              , RowCount.Value  :=  nResults -= 1
                                              , RowNumber.Value :=  !! nResults
                                        }


                                        RefineSearch(Q)
                                        {
                                            nRefined  :=  0

                                            Pos1     :=  0
                                         ,  Pos2     :=  1
                                         ,  Pos3     :=  0
                                         ,  Found    :=  1

                                            MyLV.Opt("-Redraw")
                                            MyLV.Delete()

                                            While   Sought
                                              and ( nRefined := A_Index ) < 10001
                                              and ( Found  := InStr(Hay2, Q, False, Pos2) )
                                            {
                                                If  A_Index = P_Rows+1
                                                    MyLV.Modify(1, "Select Focus")
                                                 ,  MyLV.Opt( "+Redraw" )
                                                 ,  Sleep( -1 )
                                                 ,  MyLV.Opt( "-Redraw" )

                                                 Pos1    :=   InStr(Hay2, LF, True, Found, -1)
                                               , Pos2    :=   InStr(Hay2, LF, True, Pos1, 2)
                                               , Pos3    :=   InStr(Hay2, A_Tab, True, Pos2, -1)

                                               , MyLV.Add("", SubStr(Hay2, Pos3 + 1, Pos2 - Pos3 - 1)
                                                            , SubStr(Hay2, Pos1 + 1, Pos3 - Pos1 - 1))
                                           }

                                            MyLV.Modify(1, "Select Focus")
                                            MyLV.Opt("+Redraw")
                                            RowCount.Value  :=  nRefined -= 1
                                            RowNumber.Value :=  !! nRefined
                                        }
                    }

                    ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                    ;                                                                   ListView routines 4:
                    ;             MyLV_ItemSelect() / MyLV_ItemCheck() / MyLV_DoubleClick() / MyLV_KeyDown()

                    MyLV_ItemSelect(_, Item, Selected)
                    {
                        If not MyLV.GetNext()
                           MyLV.Modify(Item, "Select")

                        RowNumber.Value := MyLV.GetNext()
                    }


                    MyLV_ItemCheck(_, Item, Checked)
                    {
                        Constant  :=  MyLV.GetText(Item, 1)
                        Value     :=  MyLV.GetText(Item, 2)

                         If  Checked = False
                        and  Selected.Has(Constant)
                             Return Selected.Delete(Constant)

                        Selected[Constant] := FormattedValue(Value)
                    }


                    MyLV_DoubleClick(_, RowNumber)
                    {
                        If not RowNumber
                           Return

                        ItemState  :=  SendMessage(0x102C, RowNumber - 1, 0xF000, MyLV.Hwnd)
                        Checked    :=  (ItemState >> 12) - 1             ; 2 lines from docs

                        MyLV.Modify(RowNumber, Checked ? "-Check" : "+Check")
                        MyLV_ItemCheck(MyLV, RowNumber, Checked)
                    }


                    MyLV_KeyDown(_, lParam)
                    {
                        Local  VKey     :=  NumGet(lParam+(A_PtrSize*3),"short")
                        Local  KeyName  :=  GetKeyName(Format( "VK{:X}", VKey))

                        If  not InStr("F1cF2vF3", KeyName)
                            Return

                        Constant        :=  MyLV.GetText(RowNumber.Value, 1)
                        Value           :=  MyLV.GetText(RowNumber.Value, 2)

                        If  InStr("F1F2F3", KeyName)
                           Return  KeyName="F1"  ?  Run("https://www.magnumdb.com/search?q=" Constant)
                                 : KeyName="F2"  ?  Run("https://docs.microsoft.com/en-us/search/?category="
                                                      . "Documentation&terms=" Constant)
                                                 :  Run("https://www.autohotkey.com/boards/search.php?terms"
                                                      . "=all&author=&sc=1&sf=all&sr=topics&sk=t&sd=d&st=0&"
                                                      . "ch=300&t=0&submit=Search&keywords=" Constant)

                        If not GetKeyState("Control", "P") and InStr("cv", KeyName, False)
                            Return

                        If  AutoState
                            OnClipboardChange(OnClipChange, False)

                        ClipSaved    :=  ClipboardAll()
                        A_Clipboard  :=  Constant " := " FormattedValue(Value) LF
                        MySB_Tip("Copied to clipboard")

                         If  KeyName = "v"
                        and  IsSet(P_Ctrl)
                               Try  SendMessage(0x302, 0, 0, P_Ctrl) ; WM_PASTE
                                 ,  MySB_Tip("Pasted")
                                 ,  A_Clipboard := ClipSaved
                             Catch
                                    MySB_Tip("Error: Paste failed.")

                        Else StrSet(&ClipSaved, 0)

                        If  AutoState
                            OnClipboardChange(OnClipChange, True)
                    }

                    ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                    ;                                        Clipboard routines 2:  Paste() / OnClipChange()

                    Paste(PasteIt:=0)
                    {
                        If  not Selected.Count
                            Return

                        All  :=  ""
                        For Constant,  Value  in  Selected
                            All  .= Constant " := " Value LF

                        If  AutoState
                            OnClipboardChange(OnClipChange, False)

                        ClipSaved    :=  ClipboardAll()
                        A_Clipboard  :=  All

                        If  not PasteIt
                             Return (
                                      GuiClose()
                                    , StrSet(&ClipSaved, 0)
                                    )

                        Try  Return (
                                      Sleep(20)
                                    , SendMessage(0x302, 0, 0, P_Ctrl) ; WM_PASTE
                                    , A_Clipboard := ClipSaved
                                    , GuiClose()
                                    )

                        MySB_Tip("Error: Paste failed.")

                        If  AutoState
                            AutoMode()
                    }


                    OnClipChange(Type)
                    {
                        If  WinActive(S_GuiWnd)
                        or  Type != 1
                        or  not StrLen(A_Clipboard)
                            Return

                        InFocus  :=  ControlGetFocus("A") = P_Ctrl
                        Str      :=  InFocus ? A_Clipboard : Trim( SubStr(A_Clipboard, 1, 100),  TrimChrs)

                        If  not Str
                        or  StrLen(Str) > 100
                        or  IsNumber(Str)
                            Return

                        Loop  Parse, Str, TrimChrs
                          If  A_Index > 1
                              Return

                        Str := A_Tab Str LF

                        If not Found := InStr(Hay, Str, False, nData)
                           Return SoundBeep(2400, 24)

                        Pos1     :=  InStr(Hay, LF, True, Found, -1)
                        Pos2     :=  InStr(Hay, LF, True, Pos1, 2)
                        Pos3     :=  InStr(Hay, A_Tab, True, Pos2, -1)

                        Constant :=  SubStr(Hay, Pos3 + 1, Pos2 - Pos3 - 1)
                        Value    :=  SubStr(Hay, Pos1 + 1, Pos3 - Pos1 - 1)
                        Value    :=  FormattedValue(Value)

                        OnClipboardChange(OnClipChange, False)
                        A_Clipboard := Constant " := " Value (InFocus ? "" : LF)
                        OnClipboardChange(OnClipChange, True)

                          Try  Sleep(20)
                            ,  SendMessage(0x302, 0, 0, P_Ctrl) ; WM_PASTE

                        Catch
                               Return (
                                          SoundPlay("*16")
                                        , AutoMode()
                                        , MySB_Tip("Error: Invalid control. Auto-mode exited")
                                        , MyGui.Show("")
                                      )
                    }
} ; ________________________________________________________________________________________________________
 
Attachments
Ziggle4.zip
(1.87 MiB) Downloaded 214 times
Ziggle3.zip
(1.79 MiB) Downloaded 187 times
Ziggle2.zip
(1.79 MiB) Downloaded 332 times
Ziggle1.zip
(1.44 MiB) Downloaded 324 times
My Scripts and Functions: V1  V2
neogna2
Posts: 598
Joined: 15 Sep 2016, 15:44

Re: Ziggle() : A handy tool to lookup Win32 Constants

30 Jan 2022, 11:06

Nice and fast tool SKAN!
A few thoughts/ideas
- We must type 3+ characters to see results? Why not show results already at 2 chars?
- We can only use | once in a search? E.g. EM_|GET|SEL doesn't show EM_EXGETSEL as first result but EM_|GETSEL does.
- No constant name in ziggle.txt contains a space so why not refine with space key instead of | ? Faster to press on some keyboards. Edit: noticed afterwards that you already use Space as cold search prefix/suffix.
- Ctrl+C / Ctrl+V to clipboard/paste only the focused listview line would be nice.
Quick kludge for that (though only works as intended if no lines are previously checked):

Code: Select all

#HotIf WinActive("Ziggle prompt : Win32 constants")
^c:: Send("{Space}!o")   ; copy row to clipboard
^p:: Send("{Space}!p")   ; paste row to editor
- MagnumDB has 360K values and Ziggle.txt 157K, but Ziggle is much faster to use.
User avatar
SKAN
Posts: 1551
Joined: 29 Sep 2013, 16:58

Re: Ziggle() : A handy tool to lookup Win32 Constants

31 Jan 2022, 02:35

neogna2 wrote:
30 Jan 2022, 11:06
Nice and fast tool SKAN!
 
Thanks.
We must type 3+ characters to see results? Why not show results already at 2 chars?
 
I will fix it. That limit shouldn't be there when ListView already has a limit of 10,000 rows.
 
- We can only use | once in a search? E.g. EM_|GET|SEL doesn't show EM_EXGETSEL as first result but EM_|GETSEL does.
 
It is not simple to support any additional refinement, with the current code... but I will keep imagining.
  
- No constant name in ziggle.txt contains a space so why not refine with space key instead of |
Some values do contain space/spaces in them.

| isn't a switch really. It is a delimiter, the most common one used in AHK v1.
A delimiter should never a part of an item, and there exists a constant like:

Code: Select all

NULL_USERSETINFO_PASSWD := "              "
  
- Ctrl+C / Ctrl+V to clipboard/paste only the focused listview line would be nice.
Quick kludge for that (though only works as intended if no lines are previously checked):

Code: Select all

#HotIf WinActive("Ziggle prompt : Win32 constants")
^c:: Send("{Space}!o")   ; copy row to clipboard
^p:: Send("{Space}!p")   ; paste row to editor
Ctrl+c is OK... Ctrl+v is not at all intuitive.
I will implement it as ^c and ^p.
Very good suggestion. Thanks.
 
MagnumDB has 360K values 
 
Simon Mourier is scraping IID's and GUID's directly from DLL's and static Libs.
There could exist 100,000 or more of them. I haven't decided yet.
User avatar
SKAN
Posts: 1551
Joined: 29 Sep 2013, 16:58

Re: Ziggle() : A handy tool to lookup Win32 Constants

31 Jan 2022, 05:51

SKAN wrote:
31 Jan 2022, 02:35
Ctrl+c is OK... Ctrl+v is not at all intuitive.
I will implement it as ^c and ^p.
I take it back.
I will implement it as Alt+C, Alt+V for multi-selected and Ctrl+C, Ctrl+V for single selection.
neogna2
Posts: 598
Joined: 15 Sep 2016, 15:44

Re: Ziggle() : A handy tool to lookup Win32 Constants

31 Jan 2022, 05:52

SKAN wrote:
31 Jan 2022, 02:35
Some values do contain space/spaces in them.

| isn't a switch really. It is a delimiter, the most common one used in AHK v1.
A delimiter should never a part of an item, and there exists a constant like:

Code: Select all

NULL_USERSETINFO_PASSWD := "              "
Convincing. I only took into consideration searching for constant names. Once again a script of yours outbrains me! :lol:
SKAN wrote:
31 Jan 2022, 02:35
Ctrl+c is OK... Ctrl+v is not at all intuitive.
I will implement it as ^c and ^p.
There's no V in Paste so not intuitive in that way, true. But to my brain Ctrl+V is the paste shortcut in so many contexts that it is convenient to reuse it and not have to recall some app specific shortcut. In this case Ziggle's listview is obviously readonly which helps my mind remember that the paste goes to the editor window. Anyway, with AutoHotkey everyone can pick their favorite custom hotkey so all is good.

edited:
SKAN wrote:
31 Jan 2022, 05:51
I will implement it as Alt+C, Alt+V for multi-selected and Ctrl+C, Ctrl+V for single selection.
:thumbup:
User avatar
boiler
Posts: 17210
Joined: 21 Dec 2014, 02:44

Re: Ziggle() : A handy tool to lookup Win32 Constants

31 Jan 2022, 08:07

Ctrl+V has been paste just due to its proximity to Ctrl+X and Ctrl+C, but as for an intuitive connection for it, I like to think of the V as a down arrow like you’re inserting text at that point.
User avatar
SKAN
Posts: 1551
Joined: 29 Sep 2013, 16:58

Re: Ziggle() : A handy tool to lookup Win32 Constants

31 Jan 2022, 08:21

boiler wrote:
31 Jan 2022, 08:07
I like to think of the V as a down arrow like you’re inserting text at that point.
:thumbup:

Hi @boiler
If I may know, have you started coding in V2?
User avatar
SKAN
Posts: 1551
Joined: 29 Sep 2013, 16:58

Ziggle() : v0.27

31 Jan 2022, 08:22

Ziggle() updated : v0.27
User avatar
boiler
Posts: 17210
Joined: 21 Dec 2014, 02:44

Re: Ziggle() : A handy tool to lookup Win32 Constants

31 Jan 2022, 09:05

SKAN wrote: Hi @boiler
If I may know, have you started coding in V2?
Hi SKAN. I have dabbled in it, and I would like to see it become the official release sooner than later, but the AHK coding that I am about to start doing on a daily basis again needs to be in v1 at least for now. Perhaps if we convert some key libraries (some internal, some public), we can transition to v2 soon.

If I were to work on new projects for myself now, I would use v2. I like to see that you and others are publishing more tools and functions in v2, which will make it easier for all to make the transition soon, hopefully.
User avatar
SKAN
Posts: 1551
Joined: 29 Sep 2013, 16:58

Re: Ziggle() : A handy tool to lookup Win32 Constants

31 Jan 2022, 11:41

@boiler : Thanks for the detailed reply. :thumbup:
iseahound
Posts: 1456
Joined: 13 Aug 2016, 21:04
Contact:

Re: Ziggle() : A handy tool to lookup Win32 Constants

31 Jan 2022, 12:09

Excellent work. Perhaps a helpful addition would be the ability to convert an integer to a hexadecimal.

As a side note, this seems to be missing some GDI+ enumerations, but this is still an excellent tool in addition to searching the Windows SDK directly, and magnumdb.com
User avatar
SKAN
Posts: 1551
Joined: 29 Sep 2013, 16:58

Re: Ziggle() : A handy tool to lookup Win32 Constants

31 Jan 2022, 12:24

iseahound wrote:
31 Jan 2022, 12:09
Excellent work.
Thank you. :)
iseahound wrote:
31 Jan 2022, 12:09
As a side note, this seems to be missing some GDI+ enumerations
Can you be specific?
Exactly which one is missing? I think I know them all.
Took me 6 hours straight... to hand compile a list of 1166 entries directly from Windows SDK headers (10.0.19041.0).

Edit: Maybe I missed a header? :?
User avatar
SKAN
Posts: 1551
Joined: 29 Sep 2013, 16:58

Ziggle() : Data file updated

31 Jan 2022, 17:49

Fixed GdiPlus enums as follows:

Prefixed all 141 color constants with ARGB_ as constants Transparent and Tan were causing problems.
Status codes didn't have the prefix Status and were raw like Ok, GenericError etc. Now fixed.

https://www.magnumdb.com/search?q=EmfPlusRecordTypeHeader has an incorrect value of 2 whereas it should be 16385.
Based on that I had manually enumerated EmfPlusRecordType* from 2 to 60. Now rectified.

WmfRecordType* also had incorrect values, but that was my own goof-up, now fixed.

PS:
I guess more people would want to mention about MagnumDB to me.
Let it be clear that I was the one who posted about it:
viewtopic.php?t=80455
I also have have Windows SDK installed for a long time.

and yet, I'm doing this project.
User avatar
SKAN
Posts: 1551
Joined: 29 Sep 2013, 16:58

Re: Ziggle() : A handy tool to lookup Win32 Constants

01 Feb 2022, 04:51

iseahound wrote:
31 Jan 2022, 21:10
Sorry SKAN, I don't mean to give you more work.
Not a work at all. I need this support.
Parsing the windows files is not easy!
When/where did I say I was parsing windows files? :roll:
I hand compiled GdiPlus enums from gdiplus*.h, thats it.
The bulk comes from zig headers and some from other sources.
Some I couldn't find:
Why do you do this? idc_person and idc_pin are part of gdiplus enums?
These exist in ziggle.txt :?

I will checkout the rest.
Zig headers are generated from and dependent on win32metadata project : https://github.com/microsoft/win32metadata
I'm not sure how much gets omitted.
User avatar
SKAN
Posts: 1551
Joined: 29 Sep 2013, 16:58

Re: Ziggle() : A handy tool to lookup Win32 Constants

01 Feb 2022, 06:45

About constants IDC_PERSON and IDC_PIN :

win32metadata is emitting them but Zig chose to skip everything except IDC_ARROW
https://github.com/marlersoft/zigwin32/blob/main/win32/ui/windows_and_messaging.zig#L668

On a secondary run, I parse Rust language headers to cross check zig results, but they don't have IDC_PERSON and IDC_PIN.
https://github.com/retep998/winapi-rs/blob/2f76bdea3a79817ccfab496fbd1786d5a697387b/src/um/winuser.rs#L5365

I don't want to manually insert these. I'll try to find more resources.
iseahound
Posts: 1456
Joined: 13 Aug 2016, 21:04
Contact:

Re: Ziggle() : A handy tool to lookup Win32 Constants

01 Feb 2022, 11:11

There's actually a handwriting cursor as well, but it's not even named as a win api constant. Such is the life of programming in windows
User avatar
SKAN
Posts: 1551
Joined: 29 Sep 2013, 16:58

Re: Ziggle() : A handy tool to lookup Win32 Constants

02 Feb 2022, 16:22

I already wrote:
01 Feb 2022, 06:45
I don't want to manually insert these. I'll try to find more resources.
There doesn't seem to be any.. at least not latest.
I had to parse data out from WinUser.h for cross-checking.

Only 4/2981 from WinUser.h are missing:
 
IDC_PIN
IDC_PERSON
WC_DIALOG
GR_GLOBAL
 

Code: Select all

[Section]
Created=2022-02-02 20:19 UTC
Constants=2981
Debug=1

.errors.
Try AnsiLower := CharLowerA
Try AnsiLowerBuff := CharLowerBuffA
Try AnsiNext := CharNextA
Try AnsiPrev := CharPrevA
Try AnsiToOem := CharToOemA
Try AnsiToOemBuff := CharToOemBuffA
Try AnsiUpper := CharUpperA
Try AnsiUpperBuff := CharUpperBuffA
Try DWLP_DLGPROC := DWLP_MSGRESULT + sizeof(LRESULT)
Try DWLP_USER := DWLP_DLGPROC + sizeof(DLGPROC)
Try GET_MOUSEORKEY_LPARAM := GET_DEVICE_LPARAM
Try GetClassLongPtrA := GetClassLongA
Try GetClassLongPtrW := GetClassLongW
Try GetWindowLongPtrA := GetWindowLongA
Try GetWindowLongPtrW := GetWindowLongW
Try OemToAnsi := OemToCharA
Try OemToAnsiBuff := OemToCharBuffA
Try SetClassLongPtrA := SetClassLongA
Try SetClassLongPtrW := SetClassLongW
Try SetWindowLongPtrA := SetWindowLongA
Try SetWindowLongPtrW := SetWindowLongW
Try WINABLEAPI := DECLSPEC_IMPORT
Try WINUSERAPI := DECLSPEC_IMPORT
Try WINUSERAPI := extern "C"

.data.
16777215	UINT_MAX
1	RT_CURSOR
2	RT_BITMAP
3	RT_ICON
4	RT_MENU
5	RT_DIALOG
6	RT_STRING
7	RT_FONTDIR
8	RT_FONT
9	RT_ACCELERATOR
10	RT_RCDATA
11	RT_MESSAGETABLE
11	DIFFERENCE
12	RT_GROUP_CURSOR
14	RT_GROUP_ICON
16	RT_VERSION
17	RT_DLGINCLUDE
19	RT_PLUGPLAY
20	RT_VXD
21	RT_ANICURSOR
22	RT_ANIICON
23	RT_HTML
24	RT_MANIFEST
1	CREATEPROCESS_MANIFEST_RESOURCE_ID
2	ISOLATIONAWARE_MANIFEST_RESOURCE_ID
3	ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID
4	ISOLATIONPOLICY_MANIFEST_RESOURCE_ID
5	ISOLATIONPOLICY_BROWSER_MANIFEST_RESOURCE_ID
1	MINIMUM_RESERVED_MANIFEST_RESOURCE_ID
16	MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID
24	RT_MANIFEST
1	CREATEPROCESS_MANIFEST_RESOURCE_ID
2	ISOLATIONAWARE_MANIFEST_RESOURCE_ID
3	ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID
4	ISOLATIONPOLICY_MANIFEST_RESOURCE_ID
5	ISOLATIONPOLICY_BROWSER_MANIFEST_RESOURCE_ID
1	MINIMUM_RESERVED_MANIFEST_RESOURCE_ID
16	MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID
-1	SETWALLPAPER_DEFAULT
0	SB_HORZ
1	SB_VERT
2	SB_CTL
3	SB_BOTH
0	SB_LINEUP
0	SB_LINELEFT
1	SB_LINEDOWN
1	SB_LINERIGHT
2	SB_PAGEUP
2	SB_PAGELEFT
3	SB_PAGEDOWN
3	SB_PAGERIGHT
4	SB_THUMBPOSITION
5	SB_THUMBTRACK
6	SB_TOP
6	SB_LEFT
7	SB_BOTTOM
7	SB_RIGHT
8	SB_ENDSCROLL
0	SW_HIDE
1	SW_SHOWNORMAL
1	SW_NORMAL
2	SW_SHOWMINIMIZED
3	SW_SHOWMAXIMIZED
3	SW_MAXIMIZE
4	SW_SHOWNOACTIVATE
5	SW_SHOW
6	SW_MINIMIZE
7	SW_SHOWMINNOACTIVE
8	SW_SHOWNA
9	SW_RESTORE
10	SW_SHOWDEFAULT
11	SW_FORCEMINIMIZE
11	SW_MAX
0	HIDE_WINDOW
1	SHOW_OPENWINDOW
2	SHOW_ICONWINDOW
3	SHOW_FULLSCREEN
4	SHOW_OPENNOACTIVATE
1	SW_PARENTCLOSING
2	SW_OTHERZOOM
3	SW_PARENTOPENING
4	SW_OTHERUNZOOM
1	AW_HOR_POSITIVE
2	AW_HOR_NEGATIVE
4	AW_VER_POSITIVE
8	AW_VER_NEGATIVE
16	AW_CENTER
65536	AW_HIDE
131072	AW_ACTIVATE
262144	AW_SLIDE
524288	AW_BLEND
256	KF_EXTENDED
2048	KF_DLGMODE
4096	KF_MENUMODE
8192	KF_ALTDOWN
16384	KF_REPEAT
32768	KF_UP
1	VK_LBUTTON
2	VK_RBUTTON
3	VK_CANCEL
4	VK_MBUTTON
5	VK_XBUTTON1
6	VK_XBUTTON2
8	VK_BACK
9	VK_TAB
12	VK_CLEAR
13	VK_RETURN
16	VK_SHIFT
17	VK_CONTROL
18	VK_MENU
19	VK_PAUSE
20	VK_CAPITAL
21	VK_KANA
21	VK_HANGEUL
21	VK_HANGUL
22	VK_IME_ON
23	VK_JUNJA
24	VK_FINAL
25	VK_HANJA
25	VK_KANJI
26	VK_IME_OFF
27	VK_ESCAPE
28	VK_CONVERT
29	VK_NONCONVERT
30	VK_ACCEPT
31	VK_MODECHANGE
32	VK_SPACE
33	VK_PRIOR
34	VK_NEXT
35	VK_END
36	VK_HOME
37	VK_LEFT
38	VK_UP
39	VK_RIGHT
40	VK_DOWN
41	VK_SELECT
42	VK_PRINT
43	VK_EXECUTE
44	VK_SNAPSHOT
45	VK_INSERT
46	VK_DELETE
47	VK_HELP
91	VK_LWIN
92	VK_RWIN
93	VK_APPS
95	VK_SLEEP
96	VK_NUMPAD0
97	VK_NUMPAD1
98	VK_NUMPAD2
99	VK_NUMPAD3
100	VK_NUMPAD4
101	VK_NUMPAD5
102	VK_NUMPAD6
103	VK_NUMPAD7
104	VK_NUMPAD8
105	VK_NUMPAD9
106	VK_MULTIPLY
107	VK_ADD
108	VK_SEPARATOR
109	VK_SUBTRACT
110	VK_DECIMAL
111	VK_DIVIDE
112	VK_F1
113	VK_F2
114	VK_F3
115	VK_F4
116	VK_F5
117	VK_F6
118	VK_F7
119	VK_F8
120	VK_F9
121	VK_F10
122	VK_F11
123	VK_F12
124	VK_F13
125	VK_F14
126	VK_F15
127	VK_F16
128	VK_F17
129	VK_F18
130	VK_F19
131	VK_F20
132	VK_F21
133	VK_F22
134	VK_F23
135	VK_F24
136	VK_NAVIGATION_VIEW
137	VK_NAVIGATION_MENU
138	VK_NAVIGATION_UP
139	VK_NAVIGATION_DOWN
140	VK_NAVIGATION_LEFT
141	VK_NAVIGATION_RIGHT
142	VK_NAVIGATION_ACCEPT
143	VK_NAVIGATION_CANCEL
144	VK_NUMLOCK
145	VK_SCROLL
146	VK_OEM_NEC_EQUAL
146	VK_OEM_FJ_JISHO
147	VK_OEM_FJ_MASSHOU
148	VK_OEM_FJ_TOUROKU
149	VK_OEM_FJ_LOYA
150	VK_OEM_FJ_ROYA
160	VK_LSHIFT
161	VK_RSHIFT
162	VK_LCONTROL
163	VK_RCONTROL
164	VK_LMENU
165	VK_RMENU
166	VK_BROWSER_BACK
167	VK_BROWSER_FORWARD
168	VK_BROWSER_REFRESH
169	VK_BROWSER_STOP
170	VK_BROWSER_SEARCH
171	VK_BROWSER_FAVORITES
172	VK_BROWSER_HOME
173	VK_VOLUME_MUTE
174	VK_VOLUME_DOWN
175	VK_VOLUME_UP
176	VK_MEDIA_NEXT_TRACK
177	VK_MEDIA_PREV_TRACK
178	VK_MEDIA_STOP
179	VK_MEDIA_PLAY_PAUSE
180	VK_LAUNCH_MAIL
181	VK_LAUNCH_MEDIA_SELECT
182	VK_LAUNCH_APP1
183	VK_LAUNCH_APP2
186	VK_OEM_1
187	VK_OEM_PLUS
188	VK_OEM_COMMA
189	VK_OEM_MINUS
190	VK_OEM_PERIOD
191	VK_OEM_2
192	VK_OEM_3
195	VK_GAMEPAD_A
196	VK_GAMEPAD_B
197	VK_GAMEPAD_X
198	VK_GAMEPAD_Y
199	VK_GAMEPAD_RIGHT_SHOULDER
200	VK_GAMEPAD_LEFT_SHOULDER
201	VK_GAMEPAD_LEFT_TRIGGER
202	VK_GAMEPAD_RIGHT_TRIGGER
203	VK_GAMEPAD_DPAD_UP
204	VK_GAMEPAD_DPAD_DOWN
205	VK_GAMEPAD_DPAD_LEFT
206	VK_GAMEPAD_DPAD_RIGHT
207	VK_GAMEPAD_MENU
208	VK_GAMEPAD_VIEW
209	VK_GAMEPAD_LEFT_THUMBSTICK_BUTTON
210	VK_GAMEPAD_RIGHT_THUMBSTICK_BUTTON
211	VK_GAMEPAD_LEFT_THUMBSTICK_UP
212	VK_GAMEPAD_LEFT_THUMBSTICK_DOWN
213	VK_GAMEPAD_LEFT_THUMBSTICK_RIGHT
214	VK_GAMEPAD_LEFT_THUMBSTICK_LEFT
215	VK_GAMEPAD_RIGHT_THUMBSTICK_UP
216	VK_GAMEPAD_RIGHT_THUMBSTICK_DOWN
217	VK_GAMEPAD_RIGHT_THUMBSTICK_RIGHT
218	VK_GAMEPAD_RIGHT_THUMBSTICK_LEFT
219	VK_OEM_4
220	VK_OEM_5
221	VK_OEM_6
222	VK_OEM_7
223	VK_OEM_8
225	VK_OEM_AX
226	VK_OEM_102
227	VK_ICO_HELP
228	VK_ICO_00
229	VK_PROCESSKEY
230	VK_ICO_CLEAR
231	VK_PACKET
233	VK_OEM_RESET
234	VK_OEM_JUMP
235	VK_OEM_PA1
236	VK_OEM_PA2
237	VK_OEM_PA3
238	VK_OEM_WSCTRL
239	VK_OEM_CUSEL
240	VK_OEM_ATTN
241	VK_OEM_FINISH
242	VK_OEM_COPY
243	VK_OEM_AUTO
244	VK_OEM_ENLW
245	VK_OEM_BACKTAB
246	VK_ATTN
247	VK_CRSEL
248	VK_EXSEL
249	VK_EREOF
250	VK_PLAY
251	VK_ZOOM
252	VK_NONAME
253	VK_PA1
254	VK_OEM_CLEAR
-1	WH_MIN
-1	WH_MSGFILTER
0	WH_JOURNALRECORD
1	WH_JOURNALPLAYBACK
2	WH_KEYBOARD
3	WH_GETMESSAGE
4	WH_CALLWNDPROC
5	WH_CBT
6	WH_SYSMSGFILTER
7	WH_MOUSE
8	WH_HARDWARE
9	WH_DEBUG
10	WH_SHELL
11	WH_FOREGROUNDIDLE
12	WH_CALLWNDPROCRET
13	WH_KEYBOARD_LL
14	WH_MOUSE_LL
11	WH_MAX
11	WH_MAX
11	WH_MAX
-1	WH_MINHOOK
11	WH_MAXHOOK
0	HC_ACTION
1	HC_GETNEXT
2	HC_SKIP
3	HC_NOREMOVE
3	HC_NOREM
4	HC_SYSMODALON
5	HC_SYSMODALOFF
0	HCBT_MOVESIZE
1	HCBT_MINMAX
2	HCBT_QS
3	HCBT_CREATEWND
4	HCBT_DESTROYWND
5	HCBT_ACTIVATE
6	HCBT_CLICKSKIPPED
7	HCBT_KEYSKIPPED
8	HCBT_SYSCOMMAND
9	HCBT_SETFOCUS
1	WTS_CONSOLE_CONNECT
2	WTS_CONSOLE_DISCONNECT
3	WTS_REMOTE_CONNECT
4	WTS_REMOTE_DISCONNECT
5	WTS_SESSION_LOGON
6	WTS_SESSION_LOGOFF
7	WTS_SESSION_LOCK
8	WTS_SESSION_UNLOCK
9	WTS_SESSION_REMOTE_CONTROL
10	WTS_SESSION_CREATE
11	WTS_SESSION_TERMINATE
0	MSGF_DIALOGBOX
1	MSGF_MESSAGEBOX
2	MSGF_MENU
5	MSGF_SCROLLBAR
6	MSGF_NEXTWINDOW
8	MSGF_MAX
4096	MSGF_USER
1	HSHELL_WINDOWCREATED
2	HSHELL_WINDOWDESTROYED
3	HSHELL_ACTIVATESHELLWINDOW
4	HSHELL_WINDOWACTIVATED
5	HSHELL_GETMINRECT
6	HSHELL_REDRAW
7	HSHELL_TASKMAN
8	HSHELL_LANGUAGE
9	HSHELL_SYSMENU
10	HSHELL_ENDTASK
11	HSHELL_ACCESSIBILITYSTATE
12	HSHELL_APPCOMMAND
13	HSHELL_WINDOWREPLACED
14	HSHELL_WINDOWREPLACING
16	HSHELL_MONITORCHANGED
32768	HSHELL_HIGHBIT
32774	HSHELL_FLASH
32772	HSHELL_RUDEAPPACTIVATED
1	APPCOMMAND_BROWSER_BACKWARD
2	APPCOMMAND_BROWSER_FORWARD
3	APPCOMMAND_BROWSER_REFRESH
4	APPCOMMAND_BROWSER_STOP
5	APPCOMMAND_BROWSER_SEARCH
6	APPCOMMAND_BROWSER_FAVORITES
7	APPCOMMAND_BROWSER_HOME
8	APPCOMMAND_VOLUME_MUTE
9	APPCOMMAND_VOLUME_DOWN
10	APPCOMMAND_VOLUME_UP
11	APPCOMMAND_MEDIA_NEXTTRACK
12	APPCOMMAND_MEDIA_PREVIOUSTRACK
13	APPCOMMAND_MEDIA_STOP
14	APPCOMMAND_MEDIA_PLAY_PAUSE
15	APPCOMMAND_LAUNCH_MAIL
16	APPCOMMAND_LAUNCH_MEDIA_SELECT
17	APPCOMMAND_LAUNCH_APP1
18	APPCOMMAND_LAUNCH_APP2
19	APPCOMMAND_BASS_DOWN
20	APPCOMMAND_BASS_BOOST
21	APPCOMMAND_BASS_UP
22	APPCOMMAND_TREBLE_DOWN
23	APPCOMMAND_TREBLE_UP
24	APPCOMMAND_MICROPHONE_VOLUME_MUTE
25	APPCOMMAND_MICROPHONE_VOLUME_DOWN
26	APPCOMMAND_MICROPHONE_VOLUME_UP
27	APPCOMMAND_HELP
28	APPCOMMAND_FIND
29	APPCOMMAND_NEW
30	APPCOMMAND_OPEN
31	APPCOMMAND_CLOSE
32	APPCOMMAND_SAVE
33	APPCOMMAND_PRINT
34	APPCOMMAND_UNDO
35	APPCOMMAND_REDO
36	APPCOMMAND_COPY
37	APPCOMMAND_CUT
38	APPCOMMAND_PASTE
39	APPCOMMAND_REPLY_TO_MAIL
40	APPCOMMAND_FORWARD_MAIL
41	APPCOMMAND_SEND_MAIL
42	APPCOMMAND_SPELL_CHECK
43	APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE
44	APPCOMMAND_MIC_ON_OFF_TOGGLE
45	APPCOMMAND_CORRECTION_LIST
46	APPCOMMAND_MEDIA_PLAY
47	APPCOMMAND_MEDIA_PAUSE
48	APPCOMMAND_MEDIA_RECORD
49	APPCOMMAND_MEDIA_FAST_FORWARD
50	APPCOMMAND_MEDIA_REWIND
51	APPCOMMAND_MEDIA_CHANNEL_UP
52	APPCOMMAND_MEDIA_CHANNEL_DOWN
53	APPCOMMAND_DELETE
54	APPCOMMAND_DWM_FLIP3D
32768	FAPPCOMMAND_MOUSE
0	FAPPCOMMAND_KEY
4096	FAPPCOMMAND_OEM
61440	FAPPCOMMAND_MASK
1	LLKHF_EXTENDED
16	LLKHF_INJECTED
32	LLKHF_ALTDOWN
128	LLKHF_UP
2	LLKHF_LOWER_IL_INJECTED
1	LLMHF_INJECTED
2	LLMHF_LOWER_IL_INJECTED
0	HKL_PREV
1	HKL_NEXT
1	KLF_ACTIVATE
2	KLF_SUBSTITUTE_OK
8	KLF_REORDER
16	KLF_REPLACELANG
128	KLF_NOTELLSHELL
256	KLF_SETFORPROCESS
65536	KLF_SHIFTLOCK
1073741824	KLF_RESET
1	INPUTLANGCHANGE_SYSCHARSET
2	INPUTLANGCHANGE_FORWARD
4	INPUTLANGCHANGE_BACKWARD
9	KL_NAMELENGTH
1	GMMP_USE_DISPLAY_POINTS
2	GMMP_USE_HIGH_RESOLUTION_POINTS
1	DESKTOP_READOBJECTS
2	DESKTOP_CREATEWINDOW
4	DESKTOP_CREATEMENU
8	DESKTOP_HOOKCONTROL
16	DESKTOP_JOURNALRECORD
32	DESKTOP_JOURNALPLAYBACK
64	DESKTOP_ENUMERATE
128	DESKTOP_WRITEOBJECTS
256	DESKTOP_SWITCHDESKTOP
1	DF_ALLOWOTHERACCOUNTHOOK
1	WINSTA_ENUMDESKTOPS
2	WINSTA_READATTRIBUTES
4	WINSTA_ACCESSCLIPBOARD
8	WINSTA_CREATEDESKTOP
16	WINSTA_WRITEATTRIBUTES
32	WINSTA_ACCESSGLOBALATOMS
64	WINSTA_EXITWINDOWS
256	WINSTA_ENUMERATE
512	WINSTA_READSCREEN
895	WINSTA_ALL_ACCESS
1	CWF_CREATE_ONLY
1	WSF_VISIBLE
1	UOI_FLAGS
2	UOI_NAME
3	UOI_TYPE
4	UOI_USER_SID
5	UOI_HEAPSIZE
6	UOI_IO
7	UOI_TIMERPROC_EXCEPTION_SUPPRESSION
-4	GWL_WNDPROC
-6	GWL_HINSTANCE
-8	GWL_HWNDPARENT
-16	GWL_STYLE
-20	GWL_EXSTYLE
-21	GWL_USERDATA
-12	GWL_ID
-4	GWLP_WNDPROC
-6	GWLP_HINSTANCE
-8	GWLP_HWNDPARENT
-21	GWLP_USERDATA
-12	GWLP_ID
-8	GCL_MENUNAME
-10	GCL_HBRBACKGROUND
-12	GCL_HCURSOR
-14	GCL_HICON
-16	GCL_HMODULE
-18	GCL_CBWNDEXTRA
-20	GCL_CBCLSEXTRA
-24	GCL_WNDPROC
-26	GCL_STYLE
-32	GCW_ATOM
-34	GCL_HICONSM
-8	GCLP_MENUNAME
-10	GCLP_HBRBACKGROUND
-12	GCLP_HCURSOR
-14	GCLP_HICON
-16	GCLP_HMODULE
-24	GCLP_WNDPROC
-34	GCLP_HICONSM
0	WM_NULL
1	WM_CREATE
2	WM_DESTROY
3	WM_MOVE
5	WM_SIZE
6	WM_ACTIVATE
0	WA_INACTIVE
1	WA_ACTIVE
2	WA_CLICKACTIVE
7	WM_SETFOCUS
8	WM_KILLFOCUS
10	WM_ENABLE
11	WM_SETREDRAW
12	WM_SETTEXT
13	WM_GETTEXT
14	WM_GETTEXTLENGTH
15	WM_PAINT
16	WM_CLOSE
17	WM_QUERYENDSESSION
19	WM_QUERYOPEN
22	WM_ENDSESSION
18	WM_QUIT
20	WM_ERASEBKGND
21	WM_SYSCOLORCHANGE
24	WM_SHOWWINDOW
26	WM_WININICHANGE
26	WM_SETTINGCHANGE
27	WM_DEVMODECHANGE
28	WM_ACTIVATEAPP
29	WM_FONTCHANGE
30	WM_TIMECHANGE
31	WM_CANCELMODE
32	WM_SETCURSOR
33	WM_MOUSEACTIVATE
34	WM_CHILDACTIVATE
35	WM_QUEUESYNC
36	WM_GETMINMAXINFO
38	WM_PAINTICON
39	WM_ICONERASEBKGND
40	WM_NEXTDLGCTL
42	WM_SPOOLERSTATUS
43	WM_DRAWITEM
44	WM_MEASUREITEM
45	WM_DELETEITEM
46	WM_VKEYTOITEM
47	WM_CHARTOITEM
48	WM_SETFONT
49	WM_GETFONT
50	WM_SETHOTKEY
51	WM_GETHOTKEY
55	WM_QUERYDRAGICON
57	WM_COMPAREITEM
61	WM_GETOBJECT
65	WM_COMPACTING
68	WM_COMMNOTIFY
70	WM_WINDOWPOSCHANGING
71	WM_WINDOWPOSCHANGED
72	WM_POWER
1	PWR_OK
-1	PWR_FAIL
1	PWR_SUSPENDREQUEST
2	PWR_SUSPENDRESUME
3	PWR_CRITICALRESUME
74	WM_COPYDATA
75	WM_CANCELJOURNAL
78	WM_NOTIFY
80	WM_INPUTLANGCHANGEREQUEST
81	WM_INPUTLANGCHANGE
82	WM_TCARD
83	WM_HELP
84	WM_USERCHANGED
85	WM_NOTIFYFORMAT
1	NFR_ANSI
2	NFR_UNICODE
3	NF_QUERY
4	NF_REQUERY
123	WM_CONTEXTMENU
124	WM_STYLECHANGING
125	WM_STYLECHANGED
126	WM_DISPLAYCHANGE
127	WM_GETICON
128	WM_SETICON
129	WM_NCCREATE
130	WM_NCDESTROY
131	WM_NCCALCSIZE
132	WM_NCHITTEST
133	WM_NCPAINT
134	WM_NCACTIVATE
135	WM_GETDLGCODE
136	WM_SYNCPAINT
160	WM_NCMOUSEMOVE
161	WM_NCLBUTTONDOWN
162	WM_NCLBUTTONUP
163	WM_NCLBUTTONDBLCLK
164	WM_NCRBUTTONDOWN
165	WM_NCRBUTTONUP
166	WM_NCRBUTTONDBLCLK
167	WM_NCMBUTTONDOWN
168	WM_NCMBUTTONUP
169	WM_NCMBUTTONDBLCLK
171	WM_NCXBUTTONDOWN
172	WM_NCXBUTTONUP
173	WM_NCXBUTTONDBLCLK
254	WM_INPUT_DEVICE_CHANGE
255	WM_INPUT
256	WM_KEYFIRST
256	WM_KEYDOWN
257	WM_KEYUP
258	WM_CHAR
259	WM_DEADCHAR
260	WM_SYSKEYDOWN
261	WM_SYSKEYUP
262	WM_SYSCHAR
263	WM_SYSDEADCHAR
265	WM_UNICHAR
264	WM_KEYLAST
65535	UNICODE_NOCHAR
264	WM_KEYLAST
269	WM_IME_STARTCOMPOSITION
270	WM_IME_ENDCOMPOSITION
271	WM_IME_COMPOSITION
271	WM_IME_KEYLAST
272	WM_INITDIALOG
273	WM_COMMAND
274	WM_SYSCOMMAND
275	WM_TIMER
276	WM_HSCROLL
277	WM_VSCROLL
278	WM_INITMENU
279	WM_INITMENUPOPUP
281	WM_GESTURE
282	WM_GESTURENOTIFY
287	WM_MENUSELECT
288	WM_MENUCHAR
289	WM_ENTERIDLE
290	WM_MENURBUTTONUP
291	WM_MENUDRAG
292	WM_MENUGETOBJECT
293	WM_UNINITMENUPOPUP
294	WM_MENUCOMMAND
295	WM_CHANGEUISTATE
296	WM_UPDATEUISTATE
297	WM_QUERYUISTATE
1	UIS_SET
2	UIS_CLEAR
3	UIS_INITIALIZE
1	UISF_HIDEFOCUS
2	UISF_HIDEACCEL
4	UISF_ACTIVE
306	WM_CTLCOLORMSGBOX
307	WM_CTLCOLOREDIT
308	WM_CTLCOLORLISTBOX
309	WM_CTLCOLORBTN
310	WM_CTLCOLORDLG
311	WM_CTLCOLORSCROLLBAR
312	WM_CTLCOLORSTATIC
481	MN_GETHMENU
512	WM_MOUSEFIRST
512	WM_MOUSEMOVE
513	WM_LBUTTONDOWN
514	WM_LBUTTONUP
515	WM_LBUTTONDBLCLK
516	WM_RBUTTONDOWN
517	WM_RBUTTONUP
518	WM_RBUTTONDBLCLK
519	WM_MBUTTONDOWN
520	WM_MBUTTONUP
521	WM_MBUTTONDBLCLK
522	WM_MOUSEWHEEL
523	WM_XBUTTONDOWN
524	WM_XBUTTONUP
525	WM_XBUTTONDBLCLK
526	WM_MOUSEHWHEEL
521	WM_MOUSELAST
521	WM_MOUSELAST
521	WM_MOUSELAST
521	WM_MOUSELAST
120	WHEEL_DELTA
16777215	WHEEL_PAGESCROLL
1	XBUTTON1
2	XBUTTON2
528	WM_PARENTNOTIFY
529	WM_ENTERMENULOOP
530	WM_EXITMENULOOP
531	WM_NEXTMENU
532	WM_SIZING
533	WM_CAPTURECHANGED
534	WM_MOVING
536	WM_POWERBROADCAST
0	PBT_APMQUERYSUSPEND
1	PBT_APMQUERYSTANDBY
2	PBT_APMQUERYSUSPENDFAILED
3	PBT_APMQUERYSTANDBYFAILED
4	PBT_APMSUSPEND
5	PBT_APMSTANDBY
6	PBT_APMRESUMECRITICAL
7	PBT_APMRESUMESUSPEND
8	PBT_APMRESUMESTANDBY
1	PBTF_APMRESUMEFROMFAILURE
9	PBT_APMBATTERYLOW
10	PBT_APMPOWERSTATUSCHANGE
11	PBT_APMOEMEVENT
18	PBT_APMRESUMEAUTOMATIC
32787	PBT_POWERSETTINGCHANGE
537	WM_DEVICECHANGE
544	WM_MDICREATE
545	WM_MDIDESTROY
546	WM_MDIACTIVATE
547	WM_MDIRESTORE
548	WM_MDINEXT
549	WM_MDIMAXIMIZE
550	WM_MDITILE
551	WM_MDICASCADE
552	WM_MDIICONARRANGE
553	WM_MDIGETACTIVE
560	WM_MDISETMENU
561	WM_ENTERSIZEMOVE
562	WM_EXITSIZEMOVE
563	WM_DROPFILES
564	WM_MDIREFRESHMENU
568	WM_POINTERDEVICECHANGE
569	WM_POINTERDEVICEINRANGE
570	WM_POINTERDEVICEOUTOFRANGE
576	WM_TOUCH
577	WM_NCPOINTERUPDATE
578	WM_NCPOINTERDOWN
579	WM_NCPOINTERUP
581	WM_POINTERUPDATE
582	WM_POINTERDOWN
583	WM_POINTERUP
585	WM_POINTERENTER
586	WM_POINTERLEAVE
587	WM_POINTERACTIVATE
588	WM_POINTERCAPTURECHANGED
589	WM_TOUCHHITTESTING
590	WM_POINTERWHEEL
591	WM_POINTERHWHEEL
592	DM_POINTERHITTEST
593	WM_POINTERROUTEDTO
594	WM_POINTERROUTEDAWAY
595	WM_POINTERROUTEDRELEASED
641	WM_IME_SETCONTEXT
642	WM_IME_NOTIFY
643	WM_IME_CONTROL
644	WM_IME_COMPOSITIONFULL
645	WM_IME_SELECT
646	WM_IME_CHAR
648	WM_IME_REQUEST
656	WM_IME_KEYDOWN
657	WM_IME_KEYUP
673	WM_MOUSEHOVER
675	WM_MOUSELEAVE
672	WM_NCMOUSEHOVER
674	WM_NCMOUSELEAVE
689	WM_WTSSESSION_CHANGE
704	WM_TABLET_FIRST
735	WM_TABLET_LAST
736	WM_DPICHANGED
738	WM_DPICHANGED_BEFOREPARENT
739	WM_DPICHANGED_AFTERPARENT
740	WM_GETDPISCALEDSIZE
768	WM_CUT
769	WM_COPY
770	WM_PASTE
771	WM_CLEAR
772	WM_UNDO
773	WM_RENDERFORMAT
774	WM_RENDERALLFORMATS
775	WM_DESTROYCLIPBOARD
776	WM_DRAWCLIPBOARD
777	WM_PAINTCLIPBOARD
778	WM_VSCROLLCLIPBOARD
779	WM_SIZECLIPBOARD
780	WM_ASKCBFORMATNAME
781	WM_CHANGECBCHAIN
782	WM_HSCROLLCLIPBOARD
783	WM_QUERYNEWPALETTE
784	WM_PALETTEISCHANGING
785	WM_PALETTECHANGED
786	WM_HOTKEY
791	WM_PRINT
792	WM_PRINTCLIENT
793	WM_APPCOMMAND
794	WM_THEMECHANGED
797	WM_CLIPBOARDUPDATE
798	WM_DWMCOMPOSITIONCHANGED
799	WM_DWMNCRENDERINGCHANGED
800	WM_DWMCOLORIZATIONCOLORCHANGED
801	WM_DWMWINDOWMAXIMIZEDCHANGE
803	WM_DWMSENDICONICTHUMBNAIL
806	WM_DWMSENDICONICLIVEPREVIEWBITMAP
831	WM_GETTITLEBARINFOEX
856	WM_HANDHELDFIRST
863	WM_HANDHELDLAST
864	WM_AFXFIRST
895	WM_AFXLAST
896	WM_PENWINFIRST
911	WM_PENWINLAST
32768	WM_APP
1024	WM_USER
1	WMSZ_LEFT
2	WMSZ_RIGHT
3	WMSZ_TOP
4	WMSZ_TOPLEFT
5	WMSZ_TOPRIGHT
6	WMSZ_BOTTOM
7	WMSZ_BOTTOMLEFT
8	WMSZ_BOTTOMRIGHT
-2	HTERROR
-1	HTTRANSPARENT
0	HTNOWHERE
1	HTCLIENT
2	HTCAPTION
3	HTSYSMENU
4	HTGROWBOX
4	HTSIZE
5	HTMENU
6	HTHSCROLL
7	HTVSCROLL
8	HTMINBUTTON
9	HTMAXBUTTON
10	HTLEFT
11	HTRIGHT
12	HTTOP
13	HTTOPLEFT
14	HTTOPRIGHT
15	HTBOTTOM
16	HTBOTTOMLEFT
17	HTBOTTOMRIGHT
18	HTBORDER
8	HTREDUCE
9	HTZOOM
10	HTSIZEFIRST
17	HTSIZELAST
19	HTOBJECT
20	HTCLOSE
21	HTHELP
0	SMTO_NORMAL
1	SMTO_BLOCK
2	SMTO_ABORTIFHUNG
8	SMTO_NOTIMEOUTIFNOTHUNG
32	SMTO_ERRORONEXIT
1	MA_ACTIVATE
2	MA_ACTIVATEANDEAT
3	MA_NOACTIVATE
4	MA_NOACTIVATEANDEAT
0	ICON_SMALL
1	ICON_BIG
2	ICON_SMALL2
0	SIZE_RESTORED
1	SIZE_MINIMIZED
2	SIZE_MAXIMIZED
3	SIZE_MAXSHOW
4	SIZE_MAXHIDE
0	SIZENORMAL
1	SIZEICONIC
2	SIZEFULLSCREEN
3	SIZEZOOMSHOW
4	SIZEZOOMHIDE
16	WVR_ALIGNTOP
32	WVR_ALIGNLEFT
64	WVR_ALIGNBOTTOM
128	WVR_ALIGNRIGHT
256	WVR_HREDRAW
512	WVR_VREDRAW
768	WVR_REDRAW
1024	WVR_VALIDRECTS
1	MK_LBUTTON
2	MK_RBUTTON
4	MK_SHIFT
8	MK_CONTROL
16	MK_MBUTTON
32	MK_XBUTTON1
64	MK_XBUTTON2
1	TME_HOVER
2	TME_LEAVE
16	TME_NONCLIENT
1073741824	TME_QUERY
2147483648	TME_CANCEL
4294967295	HOVER_DEFAULT
0	WS_OVERLAPPED
2147483648	WS_POPUP
1073741824	WS_CHILD
536870912	WS_MINIMIZE
268435456	WS_VISIBLE
134217728	WS_DISABLED
67108864	WS_CLIPSIBLINGS
33554432	WS_CLIPCHILDREN
16777216	WS_MAXIMIZE
12582912	WS_CAPTION
8388608	WS_BORDER
4194304	WS_DLGFRAME
2097152	WS_VSCROLL
1048576	WS_HSCROLL
524288	WS_SYSMENU
262144	WS_THICKFRAME
131072	WS_GROUP
65536	WS_TABSTOP
131072	WS_MINIMIZEBOX
65536	WS_MAXIMIZEBOX
0	WS_TILED
536870912	WS_ICONIC
262144	WS_SIZEBOX
13565952	WS_TILEDWINDOW
13565952	WS_OVERLAPPEDWINDOW
2156396544	WS_POPUPWINDOW
1073741824	WS_CHILDWINDOW
1	WS_EX_DLGMODALFRAME
4	WS_EX_NOPARENTNOTIFY
8	WS_EX_TOPMOST
16	WS_EX_ACCEPTFILES
32	WS_EX_TRANSPARENT
64	WS_EX_MDICHILD
128	WS_EX_TOOLWINDOW
256	WS_EX_WINDOWEDGE
512	WS_EX_CLIENTEDGE
1024	WS_EX_CONTEXTHELP
4096	WS_EX_RIGHT
0	WS_EX_LEFT
8192	WS_EX_RTLREADING
0	WS_EX_LTRREADING
16384	WS_EX_LEFTSCROLLBAR
0	WS_EX_RIGHTSCROLLBAR
65536	WS_EX_CONTROLPARENT
131072	WS_EX_STATICEDGE
262144	WS_EX_APPWINDOW
768	WS_EX_OVERLAPPEDWINDOW
392	WS_EX_PALETTEWINDOW
524288	WS_EX_LAYERED
1048576	WS_EX_NOINHERITLAYOUT
2097152	WS_EX_NOREDIRECTIONBITMAP
4194304	WS_EX_LAYOUTRTL
33554432	WS_EX_COMPOSITED
134217728	WS_EX_NOACTIVATE
1	CS_VREDRAW
2	CS_HREDRAW
8	CS_DBLCLKS
32	CS_OWNDC
64	CS_CLASSDC
128	CS_PARENTDC
512	CS_NOCLOSE
2048	CS_SAVEBITS
4096	CS_BYTEALIGNCLIENT
8192	CS_BYTEALIGNWINDOW
16384	CS_GLOBALCLASS
65536	CS_IME
131072	CS_DROPSHADOW
1	PRF_CHECKVISIBLE
2	PRF_NONCLIENT
4	PRF_CLIENT
8	PRF_ERASEBKGND
16	PRF_CHILDREN
32	PRF_OWNED
1	BDR_RAISEDOUTER
2	BDR_SUNKENOUTER
4	BDR_RAISEDINNER
8	BDR_SUNKENINNER
3	BDR_OUTER
12	BDR_INNER
5	BDR_RAISED
10	BDR_SUNKEN
5	EDGE_RAISED
10	EDGE_SUNKEN
6	EDGE_ETCHED
9	EDGE_BUMP
1	BF_LEFT
2	BF_TOP
4	BF_RIGHT
8	BF_BOTTOM
3	BF_TOPLEFT
6	BF_TOPRIGHT
9	BF_BOTTOMLEFT
12	BF_BOTTOMRIGHT
15	BF_RECT
16	BF_DIAGONAL
22	BF_DIAGONAL_ENDTOPRIGHT
19	BF_DIAGONAL_ENDTOPLEFT
25	BF_DIAGONAL_ENDBOTTOMLEFT
28	BF_DIAGONAL_ENDBOTTOMRIGHT
2048	BF_MIDDLE
4096	BF_SOFT
8192	BF_ADJUST
16384	BF_FLAT
32768	BF_MONO
1	DFC_CAPTION
2	DFC_MENU
3	DFC_SCROLL
4	DFC_BUTTON
5	DFC_POPUPMENU
0	DFCS_CAPTIONCLOSE
1	DFCS_CAPTIONMIN
2	DFCS_CAPTIONMAX
3	DFCS_CAPTIONRESTORE
4	DFCS_CAPTIONHELP
0	DFCS_MENUARROW
1	DFCS_MENUCHECK
2	DFCS_MENUBULLET
4	DFCS_MENUARROWRIGHT
0	DFCS_SCROLLUP
1	DFCS_SCROLLDOWN
2	DFCS_SCROLLLEFT
3	DFCS_SCROLLRIGHT
5	DFCS_SCROLLCOMBOBOX
8	DFCS_SCROLLSIZEGRIP
16	DFCS_SCROLLSIZEGRIPRIGHT
0	DFCS_BUTTONCHECK
1	DFCS_BUTTONRADIOIMAGE
2	DFCS_BUTTONRADIOMASK
4	DFCS_BUTTONRADIO
8	DFCS_BUTTON3STATE
16	DFCS_BUTTONPUSH
256	DFCS_INACTIVE
512	DFCS_PUSHED
1024	DFCS_CHECKED
2048	DFCS_TRANSPARENT
4096	DFCS_HOT
8192	DFCS_ADJUSTRECT
16384	DFCS_FLAT
32768	DFCS_MONO
1	DC_ACTIVE
2	DC_SMALLCAP
4	DC_ICON
8	DC_TEXT
16	DC_INBUTTON
32	DC_GRADIENT
4096	DC_BUTTONS
1	IDANI_OPEN
3	IDANI_CAPTION
1	CF_TEXT
2	CF_BITMAP
3	CF_METAFILEPICT
4	CF_SYLK
5	CF_DIF
6	CF_TIFF
7	CF_OEMTEXT
8	CF_DIB
9	CF_PALETTE
10	CF_PENDATA
11	CF_RIFF
12	CF_WAVE
13	CF_UNICODETEXT
14	CF_ENHMETAFILE
15	CF_HDROP
16	CF_LOCALE
17	CF_DIBV5
15	CF_MAX
15	CF_MAX
15	CF_MAX
128	CF_OWNERDISPLAY
129	CF_DSPTEXT
130	CF_DSPBITMAP
131	CF_DSPMETAFILEPICT
142	CF_DSPENHMETAFILE
512	CF_PRIVATEFIRST
767	CF_PRIVATELAST
768	CF_GDIOBJFIRST
1023	CF_GDIOBJLAST
1	FVIRTKEY
2	FNOINVERT
4	FSHIFT
8	FCONTROL
16	FALT
1	WPF_SETMINPOSITION
2	WPF_RESTORETOMAXIMIZED
4	WPF_ASYNCWINDOWPLACEMENT
1	ODT_MENU
2	ODT_LISTBOX
3	ODT_COMBOBOX
4	ODT_BUTTON
5	ODT_STATIC
1	ODA_DRAWENTIRE
2	ODA_SELECT
4	ODA_FOCUS
1	ODS_SELECTED
2	ODS_GRAYED
4	ODS_DISABLED
8	ODS_CHECKED
16	ODS_FOCUS
32	ODS_DEFAULT
4096	ODS_COMBOBOXEDIT
64	ODS_HOTLIGHT
128	ODS_INACTIVE
256	ODS_NOACCEL
512	ODS_NOFOCUSRECT
0	PM_NOREMOVE
1	PM_REMOVE
2	PM_NOYIELD
458752	PM_QS_INPUT
9961472	PM_QS_POSTMESSAGE
2097152	PM_QS_PAINT
4194304	PM_QS_SENDMESSAGE
1	MOD_ALT
2	MOD_CONTROL
4	MOD_SHIFT
8	MOD_WIN
16384	MOD_NOREPEAT
-1	IDHOT_SNAPWINDOW
-2	IDHOT_SNAPDESKTOP
1	ENDSESSION_CLOSEAPP
1073741824	ENDSESSION_CRITICAL
2147483648	ENDSESSION_LOGOFF
0	EWX_LOGOFF
1	EWX_SHUTDOWN
2	EWX_REBOOT
4	EWX_FORCE
8	EWX_POWEROFF
16	EWX_FORCEIFHUNG
32	EWX_QUICKRESOLVE
64	EWX_RESTARTAPPS
4194304	EWX_HYBRID_SHUTDOWN
16777216	EWX_BOOTOPTIONS
67108864	EWX_ARSO
0	BSM_ALLCOMPONENTS
1	BSM_VXDS
2	BSM_NETDRIVER
4	BSM_INSTALLABLEDRIVERS
8	BSM_APPLICATIONS
16	BSM_ALLDESKTOPS
1	BSF_QUERY
2	BSF_IGNORECURRENTTASK
4	BSF_FLUSHDISK
8	BSF_NOHANG
16	BSF_POSTMESSAGE
32	BSF_FORCEIFHUNG
64	BSF_NOTIMEOUTIFNOTHUNG
128	BSF_ALLOWSFW
256	BSF_SENDNOTIFYMESSAGE
512	BSF_RETURNHDESK
1024	BSF_LUID
1112363332	BROADCAST_QUERY_DENY
0	DEVICE_NOTIFY_WINDOW_HANDLE
1	DEVICE_NOTIFY_SERVICE_HANDLE
4	DEVICE_NOTIFY_ALL_INTERFACE_CLASSES
65535	HWND_BROADCAST
-3	HWND_MESSAGE
0	ISMEX_NOSEND
1	ISMEX_SEND
2	ISMEX_NOTIFY
4	ISMEX_CALLBACK
8	ISMEX_REPLIED
2147483648	CW_USEDEFAULT
0	HWND_DESKTOP
1	PW_CLIENTONLY
2	PW_RENDERFULLCONTENT
1	LWA_COLORKEY
2	LWA_ALPHA
1	ULW_COLORKEY
2	ULW_ALPHA
4	ULW_OPAQUE
8	ULW_EX_NORESIZE
0	FLASHW_STOP
1	FLASHW_CAPTION
2	FLASHW_TRAY
3	FLASHW_ALL
4	FLASHW_TIMER
12	FLASHW_TIMERNOFG
0	WDA_NONE
1	WDA_MONITOR
17	WDA_EXCLUDEFROMCAPTURE
1	SWP_NOSIZE
2	SWP_NOMOVE
4	SWP_NOZORDER
8	SWP_NOREDRAW
16	SWP_NOACTIVATE
32	SWP_FRAMECHANGED
64	SWP_SHOWWINDOW
128	SWP_HIDEWINDOW
256	SWP_NOCOPYBITS
512	SWP_NOOWNERZORDER
1024	SWP_NOSENDCHANGING
32	SWP_DRAWFRAME
512	SWP_NOREPOSITION
8192	SWP_DEFERERASE
16384	SWP_ASYNCWINDOWPOS
0	HWND_TOP
1	HWND_BOTTOM
-1	HWND_TOPMOST
-2	HWND_NOTOPMOST
48	DLGWINDOWEXTRA
48	DLGWINDOWEXTRA
1	KEYEVENTF_EXTENDEDKEY
2	KEYEVENTF_KEYUP
4	KEYEVENTF_UNICODE
8	KEYEVENTF_SCANCODE
1	MOUSEEVENTF_MOVE
2	MOUSEEVENTF_LEFTDOWN
4	MOUSEEVENTF_LEFTUP
8	MOUSEEVENTF_RIGHTDOWN
16	MOUSEEVENTF_RIGHTUP
32	MOUSEEVENTF_MIDDLEDOWN
64	MOUSEEVENTF_MIDDLEUP
128	MOUSEEVENTF_XDOWN
256	MOUSEEVENTF_XUP
2048	MOUSEEVENTF_WHEEL
4096	MOUSEEVENTF_HWHEEL
8192	MOUSEEVENTF_MOVE_NOCOALESCE
16384	MOUSEEVENTF_VIRTUALDESK
32768	MOUSEEVENTF_ABSOLUTE
0	INPUT_MOUSE
1	INPUT_KEYBOARD
2	INPUT_HARDWARE
1	TOUCHEVENTF_MOVE
2	TOUCHEVENTF_DOWN
4	TOUCHEVENTF_UP
8	TOUCHEVENTF_INRANGE
16	TOUCHEVENTF_PRIMARY
32	TOUCHEVENTF_NOCOALESCE
64	TOUCHEVENTF_PEN
128	TOUCHEVENTF_PALM
1	TOUCHINPUTMASKF_TIMEFROMSYSTEM
2	TOUCHINPUTMASKF_EXTRAINFO
4	TOUCHINPUTMASKF_CONTACTAREA
1	TWF_FINETOUCH
2	TWF_WANTPALM
0	POINTER_FLAG_NONE
1	POINTER_FLAG_NEW
2	POINTER_FLAG_INRANGE
4	POINTER_FLAG_INCONTACT
16	POINTER_FLAG_FIRSTBUTTON
32	POINTER_FLAG_SECONDBUTTON
64	POINTER_FLAG_THIRDBUTTON
128	POINTER_FLAG_FOURTHBUTTON
256	POINTER_FLAG_FIFTHBUTTON
8192	POINTER_FLAG_PRIMARY
16384	POINTER_FLAG_CONFIDENCE
32768	POINTER_FLAG_CANCELED
65536	POINTER_FLAG_DOWN
131072	POINTER_FLAG_UPDATE
262144	POINTER_FLAG_UP
524288	POINTER_FLAG_WHEEL
1048576	POINTER_FLAG_HWHEEL
2097152	POINTER_FLAG_CAPTURECHANGED
4194304	POINTER_FLAG_HASTRANSFORM
4	POINTER_MOD_SHIFT
8	POINTER_MOD_CTRL
0	TOUCH_FLAG_NONE
0	TOUCH_MASK_NONE
1	TOUCH_MASK_CONTACTAREA
2	TOUCH_MASK_ORIENTATION
4	TOUCH_MASK_PRESSURE
0	PEN_FLAG_NONE
1	PEN_FLAG_BARREL
2	PEN_FLAG_INVERTED
4	PEN_FLAG_ERASER
0	PEN_MASK_NONE
1	PEN_MASK_PRESSURE
2	PEN_MASK_ROTATION
4	PEN_MASK_TILT_X
8	PEN_MASK_TILT_Y
1	POINTER_MESSAGE_FLAG_NEW
2	POINTER_MESSAGE_FLAG_INRANGE
4	POINTER_MESSAGE_FLAG_INCONTACT
16	POINTER_MESSAGE_FLAG_FIRSTBUTTON
32	POINTER_MESSAGE_FLAG_SECONDBUTTON
64	POINTER_MESSAGE_FLAG_THIRDBUTTON
128	POINTER_MESSAGE_FLAG_FOURTHBUTTON
256	POINTER_MESSAGE_FLAG_FIFTHBUTTON
8192	POINTER_MESSAGE_FLAG_PRIMARY
16384	POINTER_MESSAGE_FLAG_CONFIDENCE
32768	POINTER_MESSAGE_FLAG_CANCELED
1	PA_ACTIVATE
3	PA_NOACTIVATE
256	MAX_TOUCH_COUNT
1	TOUCH_FEEDBACK_DEFAULT
2	TOUCH_FEEDBACK_INDIRECT
3	TOUCH_FEEDBACK_NONE
0	TOUCH_HIT_TESTING_DEFAULT
1	TOUCH_HIT_TESTING_CLIENT
2	TOUCH_HIT_TESTING_NONE
0	TOUCH_HIT_TESTING_PROXIMITY_CLOSEST
4095	TOUCH_HIT_TESTING_PROXIMITY_FARTHEST
1	GWFS_INCLUDE_ANCESTORS
0	MAPVK_VK_TO_VSC
1	MAPVK_VSC_TO_VK
2	MAPVK_VK_TO_CHAR
3	MAPVK_VSC_TO_VK_EX
4	MAPVK_VK_TO_VSC_EX
1	MWMO_WAITALL
2	MWMO_ALERTABLE
4	MWMO_INPUTAVAILABLE
1	QS_KEY
2	QS_MOUSEMOVE
4	QS_MOUSEBUTTON
8	QS_POSTMESSAGE
16	QS_TIMER
32	QS_PAINT
64	QS_SENDMESSAGE
128	QS_HOTKEY
256	QS_ALLPOSTMESSAGE
1024	QS_RAWINPUT
2048	QS_TOUCH
4096	QS_POINTER
6	QS_MOUSE
7	QS_INPUT
7	QS_INPUT
7	QS_INPUT
191	QS_ALLEVENTS
255	QS_ALLINPUT
2147483647	USER_TIMER_MAXIMUM
10	USER_TIMER_MINIMUM
0	TIMERV_DEFAULT_COALESCING
4294967295	TIMERV_NO_COALESCING
1	TIMERV_COALESCING_MIN
2147483637	TIMERV_COALESCING_MAX
0	SM_CXSCREEN
1	SM_CYSCREEN
2	SM_CXVSCROLL
3	SM_CYHSCROLL
4	SM_CYCAPTION
5	SM_CXBORDER
6	SM_CYBORDER
7	SM_CXDLGFRAME
8	SM_CYDLGFRAME
9	SM_CYVTHUMB
10	SM_CXHTHUMB
11	SM_CXICON
12	SM_CYICON
13	SM_CXCURSOR
14	SM_CYCURSOR
15	SM_CYMENU
16	SM_CXFULLSCREEN
17	SM_CYFULLSCREEN
18	SM_CYKANJIWINDOW
19	SM_MOUSEPRESENT
20	SM_CYVSCROLL
21	SM_CXHSCROLL
22	SM_DEBUG
23	SM_SWAPBUTTON
24	SM_RESERVED1
25	SM_RESERVED2
26	SM_RESERVED3
27	SM_RESERVED4
28	SM_CXMIN
29	SM_CYMIN
30	SM_CXSIZE
31	SM_CYSIZE
32	SM_CXFRAME
33	SM_CYFRAME
34	SM_CXMINTRACK
35	SM_CYMINTRACK
36	SM_CXDOUBLECLK
37	SM_CYDOUBLECLK
38	SM_CXICONSPACING
39	SM_CYICONSPACING
40	SM_MENUDROPALIGNMENT
41	SM_PENWINDOWS
42	SM_DBCSENABLED
43	SM_CMOUSEBUTTONS
7	SM_CXFIXEDFRAME
8	SM_CYFIXEDFRAME
32	SM_CXSIZEFRAME
33	SM_CYSIZEFRAME
44	SM_SECURE
45	SM_CXEDGE
46	SM_CYEDGE
47	SM_CXMINSPACING
48	SM_CYMINSPACING
49	SM_CXSMICON
50	SM_CYSMICON
51	SM_CYSMCAPTION
52	SM_CXSMSIZE
53	SM_CYSMSIZE
54	SM_CXMENUSIZE
55	SM_CYMENUSIZE
56	SM_ARRANGE
57	SM_CXMINIMIZED
58	SM_CYMINIMIZED
59	SM_CXMAXTRACK
60	SM_CYMAXTRACK
61	SM_CXMAXIMIZED
62	SM_CYMAXIMIZED
63	SM_NETWORK
67	SM_CLEANBOOT
68	SM_CXDRAG
69	SM_CYDRAG
70	SM_SHOWSOUNDS
71	SM_CXMENUCHECK
72	SM_CYMENUCHECK
73	SM_SLOWMACHINE
74	SM_MIDEASTENABLED
75	SM_MOUSEWHEELPRESENT
76	SM_XVIRTUALSCREEN
77	SM_YVIRTUALSCREEN
78	SM_CXVIRTUALSCREEN
79	SM_CYVIRTUALSCREEN
80	SM_CMONITORS
81	SM_SAMEDISPLAYFORMAT
82	SM_IMMENABLED
83	SM_CXFOCUSBORDER
84	SM_CYFOCUSBORDER
86	SM_TABLETPC
87	SM_MEDIACENTER
88	SM_STARTER
89	SM_SERVERR2
91	SM_MOUSEHORIZONTALWHEELPRESENT
92	SM_CXPADDEDBORDER
94	SM_DIGITIZER
95	SM_MAXIMUMTOUCHES
97	SM_CMETRICS
97	SM_CMETRICS
97	SM_CMETRICS
97	SM_CMETRICS
97	SM_CMETRICS
4096	SM_REMOTESESSION
8192	SM_SHUTTINGDOWN
8193	SM_REMOTECONTROL
8194	SM_CARETBLINKINGENABLED
8195	SM_CONVERTIBLESLATEMODE
8196	SM_SYSTEMDOCKED
1	PMB_ACTIVE
0	MNC_IGNORE
1	MNC_CLOSE
2	MNC_EXECUTE
3	MNC_SELECT
2147483648	MNS_NOCHECK
1073741824	MNS_MODELESS
536870912	MNS_DRAGDROP
268435456	MNS_AUTODISMISS
134217728	MNS_NOTIFYBYPOS
67108864	MNS_CHECKORBMP
1	MIM_MAXHEIGHT
2	MIM_BACKGROUND
4	MIM_HELPID
8	MIM_MENUDATA
16	MIM_STYLE
2147483648	MIM_APPLYTOSUBMENUS
0	MND_CONTINUE
1	MND_ENDMENU
1	MNGOF_TOPGAP
2	MNGOF_BOTTOMGAP
0	MNGO_NOINTERFACE
1	MNGO_NOERROR
1	MIIM_STATE
2	MIIM_ID
4	MIIM_SUBMENU
8	MIIM_CHECKMARKS
16	MIIM_TYPE
32	MIIM_DATA
64	MIIM_STRING
128	MIIM_BITMAP
256	MIIM_FTYPE
-1	HBMMENU_CALLBACK
1	HBMMENU_SYSTEM
2	HBMMENU_MBAR_RESTORE
3	HBMMENU_MBAR_MINIMIZE
5	HBMMENU_MBAR_CLOSE
6	HBMMENU_MBAR_CLOSE_D
7	HBMMENU_MBAR_MINIMIZE_D
8	HBMMENU_POPUP_CLOSE
9	HBMMENU_POPUP_RESTORE
10	HBMMENU_POPUP_MAXIMIZE
11	HBMMENU_POPUP_MINIMIZE
1	GMDI_USEDISABLED
2	GMDI_GOINTOPOPUPS
0	TPM_LEFTBUTTON
2	TPM_RIGHTBUTTON
0	TPM_LEFTALIGN
4	TPM_CENTERALIGN
8	TPM_RIGHTALIGN
0	TPM_TOPALIGN
16	TPM_VCENTERALIGN
32	TPM_BOTTOMALIGN
0	TPM_HORIZONTAL
64	TPM_VERTICAL
128	TPM_NONOTIFY
256	TPM_RETURNCMD
1	TPM_RECURSE
1024	TPM_HORPOSANIMATION
2048	TPM_HORNEGANIMATION
4096	TPM_VERPOSANIMATION
8192	TPM_VERNEGANIMATION
16384	TPM_NOANIMATION
32768	TPM_LAYOUTRTL
65536	TPM_WORKAREA
32769	DOF_EXECUTABLE
32770	DOF_DOCUMENT
32771	DOF_DIRECTORY
32772	DOF_MULTIPLE
1	DOF_PROGMAN
2	DOF_SHELLDATA
1162627398	DO_DROPFILE
1414419024	DO_PRINTFILE
0	DT_TOP
0	DT_LEFT
1	DT_CENTER
2	DT_RIGHT
4	DT_VCENTER
8	DT_BOTTOM
16	DT_WORDBREAK
32	DT_SINGLELINE
64	DT_EXPANDTABS
128	DT_TABSTOP
256	DT_NOCLIP
512	DT_EXTERNALLEADING
1024	DT_CALCRECT
2048	DT_NOPREFIX
4096	DT_INTERNAL
8192	DT_EDITCONTROL
16384	DT_PATH_ELLIPSIS
32768	DT_END_ELLIPSIS
65536	DT_MODIFYSTRING
131072	DT_RTLREADING
262144	DT_WORD_ELLIPSIS
524288	DT_NOFULLWIDTHCHARBREAK
1048576	DT_HIDEPREFIX
2097152	DT_PREFIXONLY
0	DST_COMPLEX
1	DST_TEXT
2	DST_PREFIXTEXT
3	DST_ICON
4	DST_BITMAP
0	DSS_NORMAL
16	DSS_UNION
32	DSS_DISABLED
128	DSS_MONO
512	DSS_HIDEPREFIX
1024	DSS_PREFIXONLY
32768	DSS_RIGHT
-1	ASFW_ANY
1	LSFW_LOCK
2	LSFW_UNLOCK
1	DCX_WINDOW
2	DCX_CACHE
4	DCX_NORESETATTRS
8	DCX_CLIPCHILDREN
16	DCX_CLIPSIBLINGS
32	DCX_PARENTCLIP
64	DCX_EXCLUDERGN
128	DCX_INTERSECTRGN
256	DCX_EXCLUDEUPDATE
512	DCX_INTERSECTUPDATE
1024	DCX_LOCKWINDOWUPDATE
2097152	DCX_VALIDATE
1	RDW_INVALIDATE
2	RDW_INTERNALPAINT
4	RDW_ERASE
8	RDW_VALIDATE
16	RDW_NOINTERNALPAINT
32	RDW_NOERASE
64	RDW_NOCHILDREN
128	RDW_ALLCHILDREN
256	RDW_UPDATENOW
512	RDW_ERASENOW
1024	RDW_FRAME
2048	RDW_NOFRAME
1	SW_SCROLLCHILDREN
2	SW_INVALIDATE
4	SW_ERASE
16	SW_SMOOTHSCROLL
0	ESB_ENABLE_BOTH
3	ESB_DISABLE_BOTH
1	ESB_DISABLE_LEFT
2	ESB_DISABLE_RIGHT
1	ESB_DISABLE_UP
2	ESB_DISABLE_DOWN
1	ESB_DISABLE_LTUP
2	ESB_DISABLE_RTDN
1	HELPINFO_WINDOW
2	HELPINFO_MENUITEM
0	MB_OK
1	MB_OKCANCEL
2	MB_ABORTRETRYIGNORE
3	MB_YESNOCANCEL
4	MB_YESNO
5	MB_RETRYCANCEL
6	MB_CANCELTRYCONTINUE
16	MB_ICONHAND
32	MB_ICONQUESTION
48	MB_ICONEXCLAMATION
64	MB_ICONASTERISK
128	MB_USERICON
48	MB_ICONWARNING
16	MB_ICONERROR
64	MB_ICONINFORMATION
16	MB_ICONSTOP
0	MB_DEFBUTTON1
256	MB_DEFBUTTON2
512	MB_DEFBUTTON3
768	MB_DEFBUTTON4
0	MB_APPLMODAL
4096	MB_SYSTEMMODAL
8192	MB_TASKMODAL
16384	MB_HELP
32768	MB_NOFOCUS
65536	MB_SETFOREGROUND
131072	MB_DEFAULT_DESKTOP_ONLY
262144	MB_TOPMOST
524288	MB_RIGHT
1048576	MB_RTLREADING
262144	MB_SERVICE_NOTIFICATION
262144	MB_SERVICE_NOTIFICATION
262144	MB_SERVICE_NOTIFICATION_NT3X
15	MB_TYPEMASK
240	MB_ICONMASK
3840	MB_DEFMASK
12288	MB_MODEMASK
49152	MB_MISCMASK
0	CWP_ALL
1	CWP_SKIPINVISIBLE
2	CWP_SKIPDISABLED
4	CWP_SKIPTRANSPARENT
0	CTLCOLOR_MSGBOX
1	CTLCOLOR_EDIT
2	CTLCOLOR_LISTBOX
3	CTLCOLOR_BTN
4	CTLCOLOR_DLG
5	CTLCOLOR_SCROLLBAR
6	CTLCOLOR_STATIC
7	CTLCOLOR_MAX
0	COLOR_SCROLLBAR
1	COLOR_BACKGROUND
2	COLOR_ACTIVECAPTION
3	COLOR_INACTIVECAPTION
4	COLOR_MENU
5	COLOR_WINDOW
6	COLOR_WINDOWFRAME
7	COLOR_MENUTEXT
8	COLOR_WINDOWTEXT
9	COLOR_CAPTIONTEXT
10	COLOR_ACTIVEBORDER
11	COLOR_INACTIVEBORDER
12	COLOR_APPWORKSPACE
13	COLOR_HIGHLIGHT
14	COLOR_HIGHLIGHTTEXT
15	COLOR_BTNFACE
16	COLOR_BTNSHADOW
17	COLOR_GRAYTEXT
18	COLOR_BTNTEXT
19	COLOR_INACTIVECAPTIONTEXT
20	COLOR_BTNHIGHLIGHT
21	COLOR_3DDKSHADOW
22	COLOR_3DLIGHT
23	COLOR_INFOTEXT
24	COLOR_INFOBK
26	COLOR_HOTLIGHT
27	COLOR_GRADIENTACTIVECAPTION
28	COLOR_GRADIENTINACTIVECAPTION
29	COLOR_MENUHILIGHT
30	COLOR_MENUBAR
1	COLOR_DESKTOP
15	COLOR_3DFACE
16	COLOR_3DSHADOW
20	COLOR_3DHIGHLIGHT
20	COLOR_3DHILIGHT
20	COLOR_BTNHILIGHT
0	GW_HWNDFIRST
1	GW_HWNDLAST
2	GW_HWNDNEXT
3	GW_HWNDPREV
4	GW_OWNER
5	GW_CHILD
6	GW_MAX
6	GW_ENABLEDPOPUP
6	GW_MAX
0	MF_INSERT
128	MF_CHANGE
256	MF_APPEND
512	MF_DELETE
4096	MF_REMOVE
0	MF_BYCOMMAND
1024	MF_BYPOSITION
2048	MF_SEPARATOR
0	MF_ENABLED
1	MF_GRAYED
2	MF_DISABLED
0	MF_UNCHECKED
8	MF_CHECKED
512	MF_USECHECKBITMAPS
0	MF_STRING
4	MF_BITMAP
256	MF_OWNERDRAW
16	MF_POPUP
32	MF_MENUBARBREAK
64	MF_MENUBREAK
0	MF_UNHILITE
128	MF_HILITE
4096	MF_DEFAULT
8192	MF_SYSMENU
16384	MF_HELP
16384	MF_RIGHTJUSTIFY
32768	MF_MOUSESELECT
128	MF_END
0	MFT_STRING
4	MFT_BITMAP
32	MFT_MENUBARBREAK
64	MFT_MENUBREAK
256	MFT_OWNERDRAW
512	MFT_RADIOCHECK
2048	MFT_SEPARATOR
8192	MFT_RIGHTORDER
16384	MFT_RIGHTJUSTIFY
3	MFS_GRAYED
3	MFS_DISABLED
8	MFS_CHECKED
128	MFS_HILITE
0	MFS_ENABLED
0	MFS_UNCHECKED
0	MFS_UNHILITE
4096	MFS_DEFAULT
128	MF_END
61440	SC_SIZE
61456	SC_MOVE
61472	SC_MINIMIZE
61488	SC_MAXIMIZE
61504	SC_NEXTWINDOW
61520	SC_PREVWINDOW
61536	SC_CLOSE
61552	SC_VSCROLL
61568	SC_HSCROLL
61584	SC_MOUSEMENU
61696	SC_KEYMENU
61712	SC_ARRANGE
61728	SC_RESTORE
61744	SC_TASKLIST
61760	SC_SCREENSAVE
61776	SC_HOTKEY
61792	SC_DEFAULT
61808	SC_MONITORPOWER
61824	SC_CONTEXTHELP
61455	SC_SEPARATOR
1	SCF_ISSECURE
61472	SC_ICON
61488	SC_ZOOM
32512	IDC_ARROW
32513	IDC_IBEAM
32514	IDC_WAIT
32515	IDC_CROSS
32516	IDC_UPARROW
32640	IDC_SIZE
32641	IDC_ICON
32642	IDC_SIZENWSE
32643	IDC_SIZENESW
32644	IDC_SIZEWE
32645	IDC_SIZENS
32646	IDC_SIZEALL
32648	IDC_NO
32649	IDC_HAND
32650	IDC_APPSTARTING
32651	IDC_HELP
32671	IDC_PIN
32672	IDC_PERSON
0	IMAGE_BITMAP
1	IMAGE_ICON
2	IMAGE_CURSOR
3	IMAGE_ENHMETAFILE
0	LR_DEFAULTCOLOR
1	LR_MONOCHROME
2	LR_COLOR
4	LR_COPYRETURNORG
8	LR_COPYDELETEORG
16	LR_LOADFROMFILE
32	LR_LOADTRANSPARENT
64	LR_DEFAULTSIZE
128	LR_VGACOLOR
4096	LR_LOADMAP3DCOLORS
8192	LR_CREATEDIBSECTION
16384	LR_COPYFROMRESOURCE
32768	LR_SHARED
1	DI_MASK
2	DI_IMAGE
3	DI_NORMAL
4	DI_COMPAT
8	DI_DEFAULTSIZE
16	DI_NOMIRROR
1	RES_ICON
2	RES_CURSOR
32754	OBM_CLOSE
32753	OBM_UPARROW
32752	OBM_DNARROW
32751	OBM_RGARROW
32750	OBM_LFARROW
32749	OBM_REDUCE
32748	OBM_ZOOM
32747	OBM_RESTORE
32746	OBM_REDUCED
32745	OBM_ZOOMD
32744	OBM_RESTORED
32743	OBM_UPARROWD
32742	OBM_DNARROWD
32741	OBM_RGARROWD
32740	OBM_LFARROWD
32739	OBM_MNARROW
32738	OBM_COMBO
32737	OBM_UPARROWI
32736	OBM_DNARROWI
32735	OBM_RGARROWI
32734	OBM_LFARROWI
32767	OBM_OLD_CLOSE
32766	OBM_SIZE
32765	OBM_OLD_UPARROW
32764	OBM_OLD_DNARROW
32763	OBM_OLD_RGARROW
32762	OBM_OLD_LFARROW
32761	OBM_BTSIZE
32760	OBM_CHECK
32759	OBM_CHECKBOXES
32758	OBM_BTNCORNERS
32757	OBM_OLD_REDUCE
32756	OBM_OLD_ZOOM
32755	OBM_OLD_RESTORE
32512	OCR_NORMAL
32513	OCR_IBEAM
32514	OCR_WAIT
32515	OCR_CROSS
32516	OCR_UP
32640	OCR_SIZE
32641	OCR_ICON
32642	OCR_SIZENWSE
32643	OCR_SIZENESW
32644	OCR_SIZEWE
32645	OCR_SIZENS
32646	OCR_SIZEALL
32647	OCR_ICOCUR
32648	OCR_NO
32649	OCR_HAND
32650	OCR_APPSTARTING
32512	OIC_SAMPLE
32513	OIC_HAND
32514	OIC_QUES
32515	OIC_BANG
32516	OIC_NOTE
32517	OIC_WINLOGO
32515	OIC_WARNING
32513	OIC_ERROR
32516	OIC_INFORMATION
32518	OIC_SHIELD
1	ORD_LANGDRIVER
32512	IDI_APPLICATION
32513	IDI_HAND
32514	IDI_QUESTION
32515	IDI_EXCLAMATION
32516	IDI_ASTERISK
32517	IDI_WINLOGO
32518	IDI_SHIELD
32512	IDI_APPLICATION
32513	IDI_HAND
32514	IDI_QUESTION
32515	IDI_EXCLAMATION
32516	IDI_ASTERISK
32517	IDI_WINLOGO
32518	IDI_SHIELD
32515	IDI_WARNING
32513	IDI_ERROR
32516	IDI_INFORMATION
1	IDOK
2	IDCANCEL
3	IDABORT
4	IDRETRY
5	IDIGNORE
6	IDYES
7	IDNO
8	IDCLOSE
9	IDHELP
10	IDTRYAGAIN
11	IDCONTINUE
32000	IDTIMEOUT
0	ES_LEFT
1	ES_CENTER
2	ES_RIGHT
4	ES_MULTILINE
8	ES_UPPERCASE
16	ES_LOWERCASE
32	ES_PASSWORD
64	ES_AUTOVSCROLL
128	ES_AUTOHSCROLL
256	ES_NOHIDESEL
1024	ES_OEMCONVERT
2048	ES_READONLY
4096	ES_WANTRETURN
8192	ES_NUMBER
256	EN_SETFOCUS
512	EN_KILLFOCUS
768	EN_CHANGE
1024	EN_UPDATE
1280	EN_ERRSPACE
1281	EN_MAXTEXT
1537	EN_HSCROLL
1538	EN_VSCROLL
1792	EN_ALIGN_LTR_EC
1793	EN_ALIGN_RTL_EC
2048	EN_BEFORE_PASTE
2049	EN_AFTER_PASTE
1	EC_LEFTMARGIN
2	EC_RIGHTMARGIN
65535	EC_USEFONTINFO
1	EMSIS_COMPOSITIONSTRING
1	EIMES_GETCOMPSTRATONCE
2	EIMES_CANCELCOMPSTRINFOCUS
4	EIMES_COMPLETECOMPSTRKILLFOCUS
176	EM_GETSEL
177	EM_SETSEL
178	EM_GETRECT
179	EM_SETRECT
180	EM_SETRECTNP
181	EM_SCROLL
182	EM_LINESCROLL
183	EM_SCROLLCARET
184	EM_GETMODIFY
185	EM_SETMODIFY
186	EM_GETLINECOUNT
187	EM_LINEINDEX
188	EM_SETHANDLE
189	EM_GETHANDLE
190	EM_GETTHUMB
193	EM_LINELENGTH
194	EM_REPLACESEL
196	EM_GETLINE
197	EM_LIMITTEXT
198	EM_CANUNDO
199	EM_UNDO
200	EM_FMTLINES
201	EM_LINEFROMCHAR
203	EM_SETTABSTOPS
204	EM_SETPASSWORDCHAR
205	EM_EMPTYUNDOBUFFER
206	EM_GETFIRSTVISIBLELINE
207	EM_SETREADONLY
208	EM_SETWORDBREAKPROC
209	EM_GETWORDBREAKPROC
210	EM_GETPASSWORDCHAR
211	EM_SETMARGINS
212	EM_GETMARGINS
197	EM_SETLIMITTEXT
213	EM_GETLIMITTEXT
214	EM_POSFROMCHAR
215	EM_CHARFROMPOS
216	EM_SETIMESTATUS
217	EM_GETIMESTATUS
218	EM_ENABLEFEATURE
0	WB_LEFT
1	WB_RIGHT
2	WB_ISDELIMITER
0	BS_PUSHBUTTON
1	BS_DEFPUSHBUTTON
2	BS_CHECKBOX
3	BS_AUTOCHECKBOX
4	BS_RADIOBUTTON
5	BS_3STATE
6	BS_AUTO3STATE
7	BS_GROUPBOX
8	BS_USERBUTTON
9	BS_AUTORADIOBUTTON
10	BS_PUSHBOX
11	BS_OWNERDRAW
15	BS_TYPEMASK
32	BS_LEFTTEXT
0	BS_TEXT
64	BS_ICON
128	BS_BITMAP
256	BS_LEFT
512	BS_RIGHT
768	BS_CENTER
1024	BS_TOP
2048	BS_BOTTOM
3072	BS_VCENTER
4096	BS_PUSHLIKE
8192	BS_MULTILINE
16384	BS_NOTIFY
32768	BS_FLAT
32	BS_RIGHTBUTTON
0	BN_CLICKED
1	BN_PAINT
2	BN_HILITE
3	BN_UNHILITE
4	BN_DISABLE
5	BN_DOUBLECLICKED
2	BN_PUSHED
3	BN_UNPUSHED
5	BN_DBLCLK
6	BN_SETFOCUS
7	BN_KILLFOCUS
240	BM_GETCHECK
241	BM_SETCHECK
242	BM_GETSTATE
243	BM_SETSTATE
244	BM_SETSTYLE
245	BM_CLICK
246	BM_GETIMAGE
247	BM_SETIMAGE
248	BM_SETDONTCLICK
0	BST_UNCHECKED
1	BST_CHECKED
2	BST_INDETERMINATE
4	BST_PUSHED
8	BST_FOCUS
0	SS_LEFT
1	SS_CENTER
2	SS_RIGHT
3	SS_ICON
4	SS_BLACKRECT
5	SS_GRAYRECT
6	SS_WHITERECT
7	SS_BLACKFRAME
8	SS_GRAYFRAME
9	SS_WHITEFRAME
10	SS_USERITEM
11	SS_SIMPLE
12	SS_LEFTNOWORDWRAP
13	SS_OWNERDRAW
14	SS_BITMAP
15	SS_ENHMETAFILE
16	SS_ETCHEDHORZ
17	SS_ETCHEDVERT
18	SS_ETCHEDFRAME
31	SS_TYPEMASK
64	SS_REALSIZECONTROL
128	SS_NOPREFIX
256	SS_NOTIFY
512	SS_CENTERIMAGE
1024	SS_RIGHTJUST
2048	SS_REALSIZEIMAGE
4096	SS_SUNKEN
8192	SS_EDITCONTROL
16384	SS_ENDELLIPSIS
32768	SS_PATHELLIPSIS
49152	SS_WORDELLIPSIS
49152	SS_ELLIPSISMASK
368	STM_SETICON
369	STM_GETICON
370	STM_SETIMAGE
371	STM_GETIMAGE
0	STN_CLICKED
1	STN_DBLCLK
2	STN_ENABLE
3	STN_DISABLE
372	STM_MSGMAX
32770	WC_DIALOG
0	DWL_MSGRESULT
4	DWL_DLGPROC
8	DWL_USER
0	DWLP_MSGRESULT
0	DDL_READWRITE
1	DDL_READONLY
2	DDL_HIDDEN
4	DDL_SYSTEM
16	DDL_DIRECTORY
32	DDL_ARCHIVE
8192	DDL_POSTMSGS
16384	DDL_DRIVES
32768	DDL_EXCLUSIVE
1	DS_ABSALIGN
2	DS_SYSMODAL
32	DS_LOCALEDIT
64	DS_SETFONT
128	DS_MODALFRAME
256	DS_NOIDLEMSG
512	DS_SETFOREGROUND
4	DS_3DLOOK
8	DS_FIXEDSYS
16	DS_NOFAILCREATE
1024	DS_CONTROL
2048	DS_CENTER
4096	DS_CENTERMOUSE
8192	DS_CONTEXTHELP
72	DS_SHELLFONT
32768	DS_USEPIXELS
1024	DM_GETDEFID
1025	DM_SETDEFID
1026	DM_REPOSITION
21323	DC_HASDEFID
1	DLGC_WANTARROWS
2	DLGC_WANTTAB
4	DLGC_WANTALLKEYS
4	DLGC_WANTMESSAGE
8	DLGC_HASSETSEL
16	DLGC_DEFPUSHBUTTON
32	DLGC_UNDEFPUSHBUTTON
64	DLGC_RADIOBUTTON
128	DLGC_WANTCHARS
256	DLGC_STATIC
8192	DLGC_BUTTON
0	LB_CTLCODE
0	LB_OKAY
-1	LB_ERR
-2	LB_ERRSPACE
-2	LBN_ERRSPACE
1	LBN_SELCHANGE
2	LBN_DBLCLK
3	LBN_SELCANCEL
4	LBN_SETFOCUS
5	LBN_KILLFOCUS
384	LB_ADDSTRING
385	LB_INSERTSTRING
386	LB_DELETESTRING
387	LB_SELITEMRANGEEX
388	LB_RESETCONTENT
389	LB_SETSEL
390	LB_SETCURSEL
391	LB_GETSEL
392	LB_GETCURSEL
393	LB_GETTEXT
394	LB_GETTEXTLEN
395	LB_GETCOUNT
396	LB_SELECTSTRING
397	LB_DIR
398	LB_GETTOPINDEX
399	LB_FINDSTRING
400	LB_GETSELCOUNT
401	LB_GETSELITEMS
402	LB_SETTABSTOPS
403	LB_GETHORIZONTALEXTENT
404	LB_SETHORIZONTALEXTENT
405	LB_SETCOLUMNWIDTH
406	LB_ADDFILE
407	LB_SETTOPINDEX
408	LB_GETITEMRECT
409	LB_GETITEMDATA
410	LB_SETITEMDATA
411	LB_SELITEMRANGE
412	LB_SETANCHORINDEX
413	LB_GETANCHORINDEX
414	LB_SETCARETINDEX
415	LB_GETCARETINDEX
416	LB_SETITEMHEIGHT
417	LB_GETITEMHEIGHT
418	LB_FINDSTRINGEXACT
421	LB_SETLOCALE
422	LB_GETLOCALE
423	LB_SETCOUNT
424	LB_INITSTORAGE
425	LB_ITEMFROMPOINT
433	LB_MULTIPLEADDSTRING
434	LB_GETLISTBOXINFO
424	LB_MSGMAX
424	LB_MSGMAX
424	LB_MSGMAX
424	LB_MSGMAX
1	LBS_NOTIFY
2	LBS_SORT
4	LBS_NOREDRAW
8	LBS_MULTIPLESEL
16	LBS_OWNERDRAWFIXED
32	LBS_OWNERDRAWVARIABLE
64	LBS_HASSTRINGS
128	LBS_USETABSTOPS
256	LBS_NOINTEGRALHEIGHT
512	LBS_MULTICOLUMN
1024	LBS_WANTKEYBOARDINPUT
2048	LBS_EXTENDEDSEL
4096	LBS_DISABLENOSCROLL
8192	LBS_NODATA
16384	LBS_NOSEL
32768	LBS_COMBOBOX
10485763	LBS_STANDARD
0	CB_OKAY
-1	CB_ERR
-2	CB_ERRSPACE
-1	CBN_ERRSPACE
1	CBN_SELCHANGE
2	CBN_DBLCLK
3	CBN_SETFOCUS
4	CBN_KILLFOCUS
5	CBN_EDITCHANGE
6	CBN_EDITUPDATE
7	CBN_DROPDOWN
8	CBN_CLOSEUP
9	CBN_SELENDOK
10	CBN_SELENDCANCEL
1	CBS_SIMPLE
2	CBS_DROPDOWN
3	CBS_DROPDOWNLIST
16	CBS_OWNERDRAWFIXED
32	CBS_OWNERDRAWVARIABLE
64	CBS_AUTOHSCROLL
128	CBS_OEMCONVERT
256	CBS_SORT
512	CBS_HASSTRINGS
1024	CBS_NOINTEGRALHEIGHT
2048	CBS_DISABLENOSCROLL
8192	CBS_UPPERCASE
16384	CBS_LOWERCASE
320	CB_GETEDITSEL
321	CB_LIMITTEXT
322	CB_SETEDITSEL
323	CB_ADDSTRING
324	CB_DELETESTRING
325	CB_DIR
326	CB_GETCOUNT
327	CB_GETCURSEL
328	CB_GETLBTEXT
329	CB_GETLBTEXTLEN
330	CB_INSERTSTRING
331	CB_RESETCONTENT
332	CB_FINDSTRING
333	CB_SELECTSTRING
334	CB_SETCURSEL
335	CB_SHOWDROPDOWN
336	CB_GETITEMDATA
337	CB_SETITEMDATA
338	CB_GETDROPPEDCONTROLRECT
339	CB_SETITEMHEIGHT
340	CB_GETITEMHEIGHT
341	CB_SETEXTENDEDUI
342	CB_GETEXTENDEDUI
343	CB_GETDROPPEDSTATE
344	CB_FINDSTRINGEXACT
345	CB_SETLOCALE
346	CB_GETLOCALE
347	CB_GETTOPINDEX
348	CB_SETTOPINDEX
349	CB_GETHORIZONTALEXTENT
350	CB_SETHORIZONTALEXTENT
351	CB_GETDROPPEDWIDTH
352	CB_SETDROPPEDWIDTH
353	CB_INITSTORAGE
355	CB_MULTIPLEADDSTRING
356	CB_GETCOMBOBOXINFO
347	CB_MSGMAX
347	CB_MSGMAX
347	CB_MSGMAX
347	CB_MSGMAX
0	SBS_HORZ
1	SBS_VERT
2	SBS_TOPALIGN
2	SBS_LEFTALIGN
4	SBS_BOTTOMALIGN
4	SBS_RIGHTALIGN
2	SBS_SIZEBOXTOPLEFTALIGN
4	SBS_SIZEBOXBOTTOMRIGHTALIGN
8	SBS_SIZEBOX
16	SBS_SIZEGRIP
224	SBM_SETPOS
225	SBM_GETPOS
226	SBM_SETRANGE
230	SBM_SETRANGEREDRAW
227	SBM_GETRANGE
228	SBM_ENABLE_ARROWS
233	SBM_SETSCROLLINFO
234	SBM_GETSCROLLINFO
235	SBM_GETSCROLLBARINFO
1	SIF_RANGE
2	SIF_PAGE
4	SIF_POS
8	SIF_DISABLENOSCROLL
16	SIF_TRACKPOS
23	SIF_ALL
1	MDIS_ALLCHILDSTYLES
0	MDITILE_VERTICAL
1	MDITILE_HORIZONTAL
2	MDITILE_SKIPDISABLED
4	MDITILE_ZORDER
1	HELP_CONTEXT
2	HELP_QUIT
3	HELP_INDEX
3	HELP_CONTENTS
4	HELP_HELPONHELP
5	HELP_SETINDEX
5	HELP_SETCONTENTS
8	HELP_CONTEXTPOPUP
9	HELP_FORCEFILE
257	HELP_KEY
258	HELP_COMMAND
261	HELP_PARTIALKEY
513	HELP_MULTIKEY
515	HELP_SETWINPOS
10	HELP_CONTEXTMENU
11	HELP_FINDER
12	HELP_WM_HELP
13	HELP_SETPOPUP_POS
32768	HELP_TCARD
16	HELP_TCARD_DATA
17	HELP_TCARD_OTHER_CALLER
28440	IDH_NO_HELP
28441	IDH_MISSING_CONTEXT
28442	IDH_GENERIC_HELP_BUTTON
28443	IDH_OK
28444	IDH_CANCEL
28445	IDH_HELP
0	GR_GDIOBJECTS
1	GR_USEROBJECTS
2	GR_GDIOBJECTS_PEAK
4	GR_USEROBJECTS_PEAK
-2	GR_GLOBAL
1	SPI_GETBEEP
2	SPI_SETBEEP
3	SPI_GETMOUSE
4	SPI_SETMOUSE
5	SPI_GETBORDER
6	SPI_SETBORDER
10	SPI_GETKEYBOARDSPEED
11	SPI_SETKEYBOARDSPEED
12	SPI_LANGDRIVER
13	SPI_ICONHORIZONTALSPACING
14	SPI_GETSCREENSAVETIMEOUT
15	SPI_SETSCREENSAVETIMEOUT
16	SPI_GETSCREENSAVEACTIVE
17	SPI_SETSCREENSAVEACTIVE
18	SPI_GETGRIDGRANULARITY
19	SPI_SETGRIDGRANULARITY
20	SPI_SETDESKWALLPAPER
21	SPI_SETDESKPATTERN
22	SPI_GETKEYBOARDDELAY
23	SPI_SETKEYBOARDDELAY
24	SPI_ICONVERTICALSPACING
25	SPI_GETICONTITLEWRAP
26	SPI_SETICONTITLEWRAP
27	SPI_GETMENUDROPALIGNMENT
28	SPI_SETMENUDROPALIGNMENT
29	SPI_SETDOUBLECLKWIDTH
30	SPI_SETDOUBLECLKHEIGHT
31	SPI_GETICONTITLELOGFONT
32	SPI_SETDOUBLECLICKTIME
33	SPI_SETMOUSEBUTTONSWAP
34	SPI_SETICONTITLELOGFONT
35	SPI_GETFASTTASKSWITCH
36	SPI_SETFASTTASKSWITCH
37	SPI_SETDRAGFULLWINDOWS
38	SPI_GETDRAGFULLWINDOWS
41	SPI_GETNONCLIENTMETRICS
42	SPI_SETNONCLIENTMETRICS
43	SPI_GETMINIMIZEDMETRICS
44	SPI_SETMINIMIZEDMETRICS
45	SPI_GETICONMETRICS
46	SPI_SETICONMETRICS
47	SPI_SETWORKAREA
48	SPI_GETWORKAREA
49	SPI_SETPENWINDOWS
66	SPI_GETHIGHCONTRAST
67	SPI_SETHIGHCONTRAST
68	SPI_GETKEYBOARDPREF
69	SPI_SETKEYBOARDPREF
70	SPI_GETSCREENREADER
71	SPI_SETSCREENREADER
72	SPI_GETANIMATION
73	SPI_SETANIMATION
74	SPI_GETFONTSMOOTHING
75	SPI_SETFONTSMOOTHING
76	SPI_SETDRAGWIDTH
77	SPI_SETDRAGHEIGHT
78	SPI_SETHANDHELD
79	SPI_GETLOWPOWERTIMEOUT
80	SPI_GETPOWEROFFTIMEOUT
81	SPI_SETLOWPOWERTIMEOUT
82	SPI_SETPOWEROFFTIMEOUT
83	SPI_GETLOWPOWERACTIVE
84	SPI_GETPOWEROFFACTIVE
85	SPI_SETLOWPOWERACTIVE
86	SPI_SETPOWEROFFACTIVE
87	SPI_SETCURSORS
88	SPI_SETICONS
89	SPI_GETDEFAULTINPUTLANG
90	SPI_SETDEFAULTINPUTLANG
91	SPI_SETLANGTOGGLE
92	SPI_GETWINDOWSEXTENSION
93	SPI_SETMOUSETRAILS
94	SPI_GETMOUSETRAILS
97	SPI_SETSCREENSAVERRUNNING
97	SPI_SCREENSAVERRUNNING
50	SPI_GETFILTERKEYS
51	SPI_SETFILTERKEYS
52	SPI_GETTOGGLEKEYS
53	SPI_SETTOGGLEKEYS
54	SPI_GETMOUSEKEYS
55	SPI_SETMOUSEKEYS
56	SPI_GETSHOWSOUNDS
57	SPI_SETSHOWSOUNDS
58	SPI_GETSTICKYKEYS
59	SPI_SETSTICKYKEYS
60	SPI_GETACCESSTIMEOUT
61	SPI_SETACCESSTIMEOUT
62	SPI_GETSERIALKEYS
63	SPI_SETSERIALKEYS
64	SPI_GETSOUNDSENTRY
65	SPI_SETSOUNDSENTRY
95	SPI_GETSNAPTODEFBUTTON
96	SPI_SETSNAPTODEFBUTTON
98	SPI_GETMOUSEHOVERWIDTH
99	SPI_SETMOUSEHOVERWIDTH
100	SPI_GETMOUSEHOVERHEIGHT
101	SPI_SETMOUSEHOVERHEIGHT
102	SPI_GETMOUSEHOVERTIME
103	SPI_SETMOUSEHOVERTIME
104	SPI_GETWHEELSCROLLLINES
105	SPI_SETWHEELSCROLLLINES
106	SPI_GETMENUSHOWDELAY
107	SPI_SETMENUSHOWDELAY
108	SPI_GETWHEELSCROLLCHARS
109	SPI_SETWHEELSCROLLCHARS
110	SPI_GETSHOWIMEUI
111	SPI_SETSHOWIMEUI
112	SPI_GETMOUSESPEED
113	SPI_SETMOUSESPEED
114	SPI_GETSCREENSAVERRUNNING
115	SPI_GETDESKWALLPAPER
116	SPI_GETAUDIODESCRIPTION
117	SPI_SETAUDIODESCRIPTION
118	SPI_GETSCREENSAVESECURE
119	SPI_SETSCREENSAVESECURE
120	SPI_GETHUNGAPPTIMEOUT
121	SPI_SETHUNGAPPTIMEOUT
122	SPI_GETWAITTOKILLTIMEOUT
123	SPI_SETWAITTOKILLTIMEOUT
124	SPI_GETWAITTOKILLSERVICETIMEOUT
125	SPI_SETWAITTOKILLSERVICETIMEOUT
126	SPI_GETMOUSEDOCKTHRESHOLD
127	SPI_SETMOUSEDOCKTHRESHOLD
128	SPI_GETPENDOCKTHRESHOLD
129	SPI_SETPENDOCKTHRESHOLD
130	SPI_GETWINARRANGING
131	SPI_SETWINARRANGING
132	SPI_GETMOUSEDRAGOUTTHRESHOLD
133	SPI_SETMOUSEDRAGOUTTHRESHOLD
134	SPI_GETPENDRAGOUTTHRESHOLD
135	SPI_SETPENDRAGOUTTHRESHOLD
136	SPI_GETMOUSESIDEMOVETHRESHOLD
137	SPI_SETMOUSESIDEMOVETHRESHOLD
138	SPI_GETPENSIDEMOVETHRESHOLD
139	SPI_SETPENSIDEMOVETHRESHOLD
140	SPI_GETDRAGFROMMAXIMIZE
141	SPI_SETDRAGFROMMAXIMIZE
142	SPI_GETSNAPSIZING
143	SPI_SETSNAPSIZING
144	SPI_GETDOCKMOVING
145	SPI_SETDOCKMOVING
3	MAX_TOUCH_PREDICTION_FILTER_TAPS
8	TOUCHPREDICTIONPARAMETERS_DEFAULT_LATENCY
8	TOUCHPREDICTIONPARAMETERS_DEFAULT_SAMPLETIME
1	TOUCHPREDICTIONPARAMETERS_DEFAULT_USE_HW_TIMESTAMP
0.001	TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_DELTA
0.90000000000000002	TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_MIN
0.999	TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_MAX
0.001	TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_LEARNING_RATE
0.98999999999999999	TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_EXPO_SMOOTH_ALPHA
156	SPI_GETTOUCHPREDICTIONPARAMETERS
157	SPI_SETTOUCHPREDICTIONPARAMETERS
2	MAX_LOGICALDPIOVERRIDE
-2	MIN_LOGICALDPIOVERRIDE
158	SPI_GETLOGICALDPIOVERRIDE
159	SPI_SETLOGICALDPIOVERRIDE
162	SPI_GETMENURECT
163	SPI_SETMENURECT
4096	SPI_GETACTIVEWINDOWTRACKING
4097	SPI_SETACTIVEWINDOWTRACKING
4098	SPI_GETMENUANIMATION
4099	SPI_SETMENUANIMATION
4100	SPI_GETCOMBOBOXANIMATION
4101	SPI_SETCOMBOBOXANIMATION
4102	SPI_GETLISTBOXSMOOTHSCROLLING
4103	SPI_SETLISTBOXSMOOTHSCROLLING
4104	SPI_GETGRADIENTCAPTIONS
4105	SPI_SETGRADIENTCAPTIONS
4106	SPI_GETKEYBOARDCUES
4107	SPI_SETKEYBOARDCUES
4106	SPI_GETMENUUNDERLINES
4107	SPI_SETMENUUNDERLINES
4108	SPI_GETACTIVEWNDTRKZORDER
4109	SPI_SETACTIVEWNDTRKZORDER
4110	SPI_GETHOTTRACKING
4111	SPI_SETHOTTRACKING
4114	SPI_GETMENUFADE
4115	SPI_SETMENUFADE
4116	SPI_GETSELECTIONFADE
4117	SPI_SETSELECTIONFADE
4118	SPI_GETTOOLTIPANIMATION
4119	SPI_SETTOOLTIPANIMATION
4120	SPI_GETTOOLTIPFADE
4121	SPI_SETTOOLTIPFADE
4122	SPI_GETCURSORSHADOW
4123	SPI_SETCURSORSHADOW
4124	SPI_GETMOUSESONAR
4125	SPI_SETMOUSESONAR
4126	SPI_GETMOUSECLICKLOCK
4127	SPI_SETMOUSECLICKLOCK
4128	SPI_GETMOUSEVANISH
4129	SPI_SETMOUSEVANISH
4130	SPI_GETFLATMENU
4131	SPI_SETFLATMENU
4132	SPI_GETDROPSHADOW
4133	SPI_SETDROPSHADOW
4134	SPI_GETBLOCKSENDINPUTRESETS
4135	SPI_SETBLOCKSENDINPUTRESETS
4158	SPI_GETUIEFFECTS
4159	SPI_SETUIEFFECTS
4160	SPI_GETDISABLEOVERLAPPEDCONTENT
4161	SPI_SETDISABLEOVERLAPPEDCONTENT
4162	SPI_GETCLIENTAREAANIMATION
4163	SPI_SETCLIENTAREAANIMATION
4168	SPI_GETCLEARTYPE
4169	SPI_SETCLEARTYPE
4170	SPI_GETSPEECHRECOGNITION
4171	SPI_SETSPEECHRECOGNITION
4172	SPI_GETCARETBROWSING
4173	SPI_SETCARETBROWSING
4174	SPI_GETTHREADLOCALINPUTSETTINGS
4175	SPI_SETTHREADLOCALINPUTSETTINGS
4176	SPI_GETSYSTEMLANGUAGEBAR
4177	SPI_SETSYSTEMLANGUAGEBAR
8192	SPI_GETFOREGROUNDLOCKTIMEOUT
8193	SPI_SETFOREGROUNDLOCKTIMEOUT
8194	SPI_GETACTIVEWNDTRKTIMEOUT
8195	SPI_SETACTIVEWNDTRKTIMEOUT
8196	SPI_GETFOREGROUNDFLASHCOUNT
8197	SPI_SETFOREGROUNDFLASHCOUNT
8198	SPI_GETCARETWIDTH
8199	SPI_SETCARETWIDTH
8200	SPI_GETMOUSECLICKLOCKTIME
8201	SPI_SETMOUSECLICKLOCKTIME
8202	SPI_GETFONTSMOOTHINGTYPE
8203	SPI_SETFONTSMOOTHINGTYPE
1	FE_FONTSMOOTHINGSTANDARD
2	FE_FONTSMOOTHINGCLEARTYPE
8204	SPI_GETFONTSMOOTHINGCONTRAST
8205	SPI_SETFONTSMOOTHINGCONTRAST
8206	SPI_GETFOCUSBORDERWIDTH
8207	SPI_SETFOCUSBORDERWIDTH
8208	SPI_GETFOCUSBORDERHEIGHT
8209	SPI_SETFOCUSBORDERHEIGHT
8210	SPI_GETFONTSMOOTHINGORIENTATION
8211	SPI_SETFONTSMOOTHINGORIENTATION
0	FE_FONTSMOOTHINGORIENTATIONBGR
1	FE_FONTSMOOTHINGORIENTATIONRGB
8212	SPI_GETMINIMUMHITRADIUS
8213	SPI_SETMINIMUMHITRADIUS
8214	SPI_GETMESSAGEDURATION
8215	SPI_SETMESSAGEDURATION
8216	SPI_GETCONTACTVISUALIZATION
8217	SPI_SETCONTACTVISUALIZATION
0	CONTACTVISUALIZATION_OFF
1	CONTACTVISUALIZATION_ON
2	CONTACTVISUALIZATION_PRESENTATIONMODE
8218	SPI_GETGESTUREVISUALIZATION
8219	SPI_SETGESTUREVISUALIZATION
0	GESTUREVISUALIZATION_OFF
31	GESTUREVISUALIZATION_ON
1	GESTUREVISUALIZATION_TAP
2	GESTUREVISUALIZATION_DOUBLETAP
4	GESTUREVISUALIZATION_PRESSANDTAP
8	GESTUREVISUALIZATION_PRESSANDHOLD
16	GESTUREVISUALIZATION_RIGHTTAP
8220	SPI_GETMOUSEWHEELROUTING
8221	SPI_SETMOUSEWHEELROUTING
0	MOUSEWHEEL_ROUTING_FOCUS
1	MOUSEWHEEL_ROUTING_HYBRID
2	MOUSEWHEEL_ROUTING_MOUSE_POS
8222	SPI_GETPENVISUALIZATION
8223	SPI_SETPENVISUALIZATION
35	PENVISUALIZATION_ON
0	PENVISUALIZATION_OFF
1	PENVISUALIZATION_TAP
2	PENVISUALIZATION_DOUBLETAP
32	PENVISUALIZATION_CURSOR
8224	SPI_GETPENARBITRATIONTYPE
8225	SPI_SETPENARBITRATIONTYPE
0	PENARBITRATIONTYPE_NONE
1	PENARBITRATIONTYPE_WIN8
2	PENARBITRATIONTYPE_FIS
3	PENARBITRATIONTYPE_SPT
4	PENARBITRATIONTYPE_MAX
8226	SPI_GETCARETTIMEOUT
8227	SPI_SETCARETTIMEOUT
8228	SPI_GETHANDEDNESS
8229	SPI_SETHANDEDNESS
1	SPIF_UPDATEINIFILE
2	SPIF_SENDWININICHANGE
2	SPIF_SENDCHANGE
-1	METRICS_USEDEFAULT
0	ARW_BOTTOMLEFT
1	ARW_BOTTOMRIGHT
2	ARW_TOPLEFT
3	ARW_TOPRIGHT
3	ARW_STARTMASK
1	ARW_STARTRIGHT
2	ARW_STARTTOP
0	ARW_LEFT
0	ARW_RIGHT
4	ARW_UP
4	ARW_DOWN
8	ARW_HIDE
1	SERKF_SERIALKEYSON
2	SERKF_AVAILABLE
4	SERKF_INDICATOR
1	HCF_HIGHCONTRASTON
2	HCF_AVAILABLE
4	HCF_HOTKEYACTIVE
8	HCF_CONFIRMHOTKEY
16	HCF_HOTKEYSOUND
32	HCF_INDICATOR
64	HCF_HOTKEYAVAILABLE
256	HCF_LOGONDESKTOP
512	HCF_DEFAULTDESKTOP
4096	HCF_OPTION_NOTHEMECHANGE
1	CDS_UPDATEREGISTRY
2	CDS_TEST
4	CDS_FULLSCREEN
8	CDS_GLOBAL
16	CDS_SET_PRIMARY
32	CDS_VIDEOPARAMETERS
256	CDS_ENABLE_UNSAFE_MODES
512	CDS_DISABLE_UNSAFE_MODES
1073741824	CDS_RESET
536870912	CDS_RESET_EX
268435456	CDS_NORESET
0	DISP_CHANGE_SUCCESSFUL
1	DISP_CHANGE_RESTART
-1	DISP_CHANGE_FAILED
-2	DISP_CHANGE_BADMODE
-3	DISP_CHANGE_NOTUPDATED
-4	DISP_CHANGE_BADFLAGS
-5	DISP_CHANGE_BADPARAM
-6	DISP_CHANGE_BADDUALVIEW
-1	ENUM_CURRENT_SETTINGS
-2	ENUM_REGISTRY_SETTINGS
2	EDS_RAWMODE
4	EDS_ROTATEDMODE
1	EDD_GET_DEVICE_INTERFACE_NAME
1	FKF_FILTERKEYSON
2	FKF_AVAILABLE
4	FKF_HOTKEYACTIVE
8	FKF_CONFIRMHOTKEY
16	FKF_HOTKEYSOUND
32	FKF_INDICATOR
64	FKF_CLICKON
1	SKF_STICKYKEYSON
2	SKF_AVAILABLE
4	SKF_HOTKEYACTIVE
8	SKF_CONFIRMHOTKEY
16	SKF_HOTKEYSOUND
32	SKF_INDICATOR
64	SKF_AUDIBLEFEEDBACK
128	SKF_TRISTATE
256	SKF_TWOKEYSOFF
268435456	SKF_LALTLATCHED
67108864	SKF_LCTLLATCHED
16777216	SKF_LSHIFTLATCHED
536870912	SKF_RALTLATCHED
134217728	SKF_RCTLLATCHED
33554432	SKF_RSHIFTLATCHED
1073741824	SKF_LWINLATCHED
2147483648	SKF_RWINLATCHED
1048576	SKF_LALTLOCKED
262144	SKF_LCTLLOCKED
65536	SKF_LSHIFTLOCKED
2097152	SKF_RALTLOCKED
524288	SKF_RCTLLOCKED
131072	SKF_RSHIFTLOCKED
4194304	SKF_LWINLOCKED
8388608	SKF_RWINLOCKED
1	MKF_MOUSEKEYSON
2	MKF_AVAILABLE
4	MKF_HOTKEYACTIVE
8	MKF_CONFIRMHOTKEY
16	MKF_HOTKEYSOUND
32	MKF_INDICATOR
64	MKF_MODIFIERS
128	MKF_REPLACENUMBERS
268435456	MKF_LEFTBUTTONSEL
536870912	MKF_RIGHTBUTTONSEL
16777216	MKF_LEFTBUTTONDOWN
33554432	MKF_RIGHTBUTTONDOWN
2147483648	MKF_MOUSEMODE
1	ATF_TIMEOUTON
2	ATF_ONOFFFEEDBACK
0	SSGF_NONE
3	SSGF_DISPLAY
0	SSTF_NONE
1	SSTF_CHARS
2	SSTF_BORDER
3	SSTF_DISPLAY
0	SSWF_NONE
1	SSWF_TITLE
2	SSWF_WINDOW
3	SSWF_DISPLAY
4	SSWF_CUSTOM
1	SSF_SOUNDSENTRYON
2	SSF_AVAILABLE
4	SSF_INDICATOR
1	TKF_TOGGLEKEYSON
2	TKF_AVAILABLE
4	TKF_HOTKEYACTIVE
8	TKF_CONFIRMHOTKEY
16	TKF_HOTKEYSOUND
32	TKF_INDICATOR
1	SLE_ERROR
2	SLE_MINORERROR
3	SLE_WARNING
0	MONITOR_DEFAULTTONULL
1	MONITOR_DEFAULTTOPRIMARY
2	MONITOR_DEFAULTTONEAREST
1	MONITORINFOF_PRIMARY
32	CCHDEVICENAME
0	WINEVENT_OUTOFCONTEXT
1	WINEVENT_SKIPOWNTHREAD
2	WINEVENT_SKIPOWNPROCESS
4	WINEVENT_INCONTEXT
0	CHILDID_SELF
0	INDEXID_OBJECT
0	INDEXID_CONTAINER
0	OBJID_WINDOW
4294967295	OBJID_SYSMENU
4294967294	OBJID_TITLEBAR
4294967293	OBJID_MENU
4294967292	OBJID_CLIENT
4294967291	OBJID_VSCROLL
4294967290	OBJID_HSCROLL
4294967289	OBJID_SIZEGRIP
4294967288	OBJID_CARET
4294967287	OBJID_CURSOR
4294967286	OBJID_ALERT
4294967285	OBJID_SOUND
4294967284	OBJID_QUERYCLASSNAMEIDX
4294967280	OBJID_NATIVEOM
1	EVENT_MIN
2147483647	EVENT_MAX
1	EVENT_SYSTEM_SOUND
2	EVENT_SYSTEM_ALERT
3	EVENT_SYSTEM_FOREGROUND
4	EVENT_SYSTEM_MENUSTART
5	EVENT_SYSTEM_MENUEND
6	EVENT_SYSTEM_MENUPOPUPSTART
7	EVENT_SYSTEM_MENUPOPUPEND
8	EVENT_SYSTEM_CAPTURESTART
9	EVENT_SYSTEM_CAPTUREEND
10	EVENT_SYSTEM_MOVESIZESTART
11	EVENT_SYSTEM_MOVESIZEEND
12	EVENT_SYSTEM_CONTEXTHELPSTART
13	EVENT_SYSTEM_CONTEXTHELPEND
14	EVENT_SYSTEM_DRAGDROPSTART
15	EVENT_SYSTEM_DRAGDROPEND
16	EVENT_SYSTEM_DIALOGSTART
17	EVENT_SYSTEM_DIALOGEND
18	EVENT_SYSTEM_SCROLLINGSTART
19	EVENT_SYSTEM_SCROLLINGEND
20	EVENT_SYSTEM_SWITCHSTART
21	EVENT_SYSTEM_SWITCHEND
22	EVENT_SYSTEM_MINIMIZESTART
23	EVENT_SYSTEM_MINIMIZEEND
32	EVENT_SYSTEM_DESKTOPSWITCH
36	EVENT_SYSTEM_SWITCHER_APPGRABBED
37	EVENT_SYSTEM_SWITCHER_APPOVERTARGET
38	EVENT_SYSTEM_SWITCHER_APPDROPPED
39	EVENT_SYSTEM_SWITCHER_CANCELLED
41	EVENT_SYSTEM_IME_KEY_NOTIFICATION
255	EVENT_SYSTEM_END
257	EVENT_OEM_DEFINED_START
511	EVENT_OEM_DEFINED_END
19968	EVENT_UIA_EVENTID_START
20223	EVENT_UIA_EVENTID_END
29952	EVENT_UIA_PROPID_START
30207	EVENT_UIA_PROPID_END
16385	EVENT_CONSOLE_CARET
16386	EVENT_CONSOLE_UPDATE_REGION
16387	EVENT_CONSOLE_UPDATE_SIMPLE
16388	EVENT_CONSOLE_UPDATE_SCROLL
16389	EVENT_CONSOLE_LAYOUT
16390	EVENT_CONSOLE_START_APPLICATION
16391	EVENT_CONSOLE_END_APPLICATION
1	CONSOLE_APPLICATION_16BIT
1	CONSOLE_APPLICATION_16BIT
1	CONSOLE_CARET_SELECTION
2	CONSOLE_CARET_VISIBLE
16639	EVENT_CONSOLE_END
32768	EVENT_OBJECT_CREATE
32769	EVENT_OBJECT_DESTROY
32770	EVENT_OBJECT_SHOW
32771	EVENT_OBJECT_HIDE
32772	EVENT_OBJECT_REORDER
32773	EVENT_OBJECT_FOCUS
32774	EVENT_OBJECT_SELECTION
32775	EVENT_OBJECT_SELECTIONADD
32776	EVENT_OBJECT_SELECTIONREMOVE
32777	EVENT_OBJECT_SELECTIONWITHIN
32778	EVENT_OBJECT_STATECHANGE
32779	EVENT_OBJECT_LOCATIONCHANGE
32780	EVENT_OBJECT_NAMECHANGE
32781	EVENT_OBJECT_DESCRIPTIONCHANGE
32782	EVENT_OBJECT_VALUECHANGE
32783	EVENT_OBJECT_PARENTCHANGE
32784	EVENT_OBJECT_HELPCHANGE
32785	EVENT_OBJECT_DEFACTIONCHANGE
32786	EVENT_OBJECT_ACCELERATORCHANGE
32787	EVENT_OBJECT_INVOKED
32788	EVENT_OBJECT_TEXTSELECTIONCHANGED
32789	EVENT_OBJECT_CONTENTSCROLLED
32790	EVENT_SYSTEM_ARRANGMENTPREVIEW
32791	EVENT_OBJECT_CLOAKED
32792	EVENT_OBJECT_UNCLOAKED
32793	EVENT_OBJECT_LIVEREGIONCHANGED
32800	EVENT_OBJECT_HOSTEDOBJECTSINVALIDATED
32801	EVENT_OBJECT_DRAGSTART
32802	EVENT_OBJECT_DRAGCANCEL
32803	EVENT_OBJECT_DRAGCOMPLETE
32804	EVENT_OBJECT_DRAGENTER
32805	EVENT_OBJECT_DRAGLEAVE
32806	EVENT_OBJECT_DRAGDROPPED
32807	EVENT_OBJECT_IME_SHOW
32808	EVENT_OBJECT_IME_HIDE
32809	EVENT_OBJECT_IME_CHANGE
32816	EVENT_OBJECT_TEXTEDIT_CONVERSIONTARGETCHANGED
33023	EVENT_OBJECT_END
40960	EVENT_AIA_START
45055	EVENT_AIA_END
1	SOUND_SYSTEM_STARTUP
2	SOUND_SYSTEM_SHUTDOWN
3	SOUND_SYSTEM_BEEP
4	SOUND_SYSTEM_ERROR
5	SOUND_SYSTEM_QUESTION
6	SOUND_SYSTEM_WARNING
7	SOUND_SYSTEM_INFORMATION
8	SOUND_SYSTEM_MAXIMIZE
9	SOUND_SYSTEM_MINIMIZE
10	SOUND_SYSTEM_RESTOREUP
11	SOUND_SYSTEM_RESTOREDOWN
12	SOUND_SYSTEM_APPSTART
13	SOUND_SYSTEM_FAULT
14	SOUND_SYSTEM_APPEND
15	SOUND_SYSTEM_MENUCOMMAND
16	SOUND_SYSTEM_MENUPOPUP
16	CSOUND_SYSTEM
1	ALERT_SYSTEM_INFORMATIONAL
2	ALERT_SYSTEM_WARNING
3	ALERT_SYSTEM_ERROR
4	ALERT_SYSTEM_QUERY
5	ALERT_SYSTEM_CRITICAL
6	CALERT_SYSTEM
1	GUI_CARETBLINKING
2	GUI_INMOVESIZE
4	GUI_INMENUMODE
8	GUI_SYSTEMMENUMODE
16	GUI_POPUPMENUMODE
32	GUI_16BITTASK
32	GUI_16BITTASK
96	USER_DEFAULT_SCREEN_DPI
1	STATE_SYSTEM_UNAVAILABLE
2	STATE_SYSTEM_SELECTED
4	STATE_SYSTEM_FOCUSED
8	STATE_SYSTEM_PRESSED
16	STATE_SYSTEM_CHECKED
32	STATE_SYSTEM_MIXED
32	STATE_SYSTEM_INDETERMINATE
64	STATE_SYSTEM_READONLY
128	STATE_SYSTEM_HOTTRACKED
256	STATE_SYSTEM_DEFAULT
512	STATE_SYSTEM_EXPANDED
1024	STATE_SYSTEM_COLLAPSED
2048	STATE_SYSTEM_BUSY
4096	STATE_SYSTEM_FLOATING
8192	STATE_SYSTEM_MARQUEED
16384	STATE_SYSTEM_ANIMATED
32768	STATE_SYSTEM_INVISIBLE
65536	STATE_SYSTEM_OFFSCREEN
131072	STATE_SYSTEM_SIZEABLE
262144	STATE_SYSTEM_MOVEABLE
524288	STATE_SYSTEM_SELFVOICING
1048576	STATE_SYSTEM_FOCUSABLE
2097152	STATE_SYSTEM_SELECTABLE
4194304	STATE_SYSTEM_LINKED
8388608	STATE_SYSTEM_TRAVERSED
16777216	STATE_SYSTEM_MULTISELECTABLE
33554432	STATE_SYSTEM_EXTSELECTABLE
67108864	STATE_SYSTEM_ALERT_LOW
134217728	STATE_SYSTEM_ALERT_MEDIUM
268435456	STATE_SYSTEM_ALERT_HIGH
536870912	STATE_SYSTEM_PROTECTED
1073741823	STATE_SYSTEM_VALID
5	CCHILDREN_TITLEBAR
5	CCHILDREN_SCROLLBAR
1	CURSOR_SHOWING
2	CURSOR_SUPPRESSED
1	WS_ACTIVECAPTION
1	GA_PARENT
2	GA_ROOT
3	GA_ROOTOWNER
0	RIM_INPUT
1	RIM_INPUTSINK
0	RIM_TYPEMOUSE
1	RIM_TYPEKEYBOARD
2	RIM_TYPEHID
2	RIM_TYPEMAX
1	RI_MOUSE_LEFT_BUTTON_DOWN
2	RI_MOUSE_LEFT_BUTTON_UP
4	RI_MOUSE_RIGHT_BUTTON_DOWN
8	RI_MOUSE_RIGHT_BUTTON_UP
16	RI_MOUSE_MIDDLE_BUTTON_DOWN
32	RI_MOUSE_MIDDLE_BUTTON_UP
1	RI_MOUSE_BUTTON_1_DOWN
2	RI_MOUSE_BUTTON_1_UP
4	RI_MOUSE_BUTTON_2_DOWN
8	RI_MOUSE_BUTTON_2_UP
16	RI_MOUSE_BUTTON_3_DOWN
32	RI_MOUSE_BUTTON_3_UP
64	RI_MOUSE_BUTTON_4_DOWN
128	RI_MOUSE_BUTTON_4_UP
256	RI_MOUSE_BUTTON_5_DOWN
512	RI_MOUSE_BUTTON_5_UP
1024	RI_MOUSE_WHEEL
2048	RI_MOUSE_HWHEEL
0	MOUSE_MOVE_RELATIVE
1	MOUSE_MOVE_ABSOLUTE
2	MOUSE_VIRTUAL_DESKTOP
4	MOUSE_ATTRIBUTES_CHANGED
8	MOUSE_MOVE_NOCOALESCE
255	KEYBOARD_OVERRUN_MAKE_CODE
0	RI_KEY_MAKE
1	RI_KEY_BREAK
2	RI_KEY_E0
4	RI_KEY_E1
8	RI_KEY_TERMSRV_SET_LED
16	RI_KEY_TERMSRV_SHADOW
268435459	RID_INPUT
268435461	RID_HEADER
536870917	RIDI_PREPARSEDDATA
536870919	RIDI_DEVICENAME
536870923	RIDI_DEVICEINFO
1	RIDEV_REMOVE
16	RIDEV_EXCLUDE
32	RIDEV_PAGEONLY
48	RIDEV_NOLEGACY
256	RIDEV_INPUTSINK
512	RIDEV_CAPTUREMOUSE
512	RIDEV_NOHOTKEYS
1024	RIDEV_APPKEYS
4096	RIDEV_EXINPUTSINK
8192	RIDEV_DEVNOTIFY
240	RIDEV_EXMODEMASK
1	GIDC_ARRIVAL
2	GIDC_REMOVAL
520	POINTER_DEVICE_PRODUCT_STRING_MAX
1	PDC_ARRIVAL
2	PDC_REMOVAL
4	PDC_ORIENTATION_0
8	PDC_ORIENTATION_90
16	PDC_ORIENTATION_180
32	PDC_ORIENTATION_270
64	PDC_MODE_DEFAULT
128	PDC_MODE_CENTERED
256	PDC_MAPPING_CHANGE
512	PDC_RESOLUTION
1024	PDC_ORIGIN
2048	PDC_MODE_ASPECTRATIOPRESERVED
1	MSGFLT_ADD
2	MSGFLT_REMOVE
0	MSGFLTINFO_NONE
1	MSGFLTINFO_ALREADYALLOWED_FORWND
2	MSGFLTINFO_ALREADYDISALLOWED_FORWND
3	MSGFLTINFO_ALLOWED_HIGHER
0	MSGFLT_RESET
1	MSGFLT_ALLOW
2	MSGFLT_DISALLOW
1	GF_BEGIN
2	GF_INERTIA
4	GF_END
1	GID_BEGIN
2	GID_END
3	GID_ZOOM
4	GID_PAN
5	GID_ROTATE
6	GID_TWOFINGERTAP
7	GID_PRESSANDTAP
7	GID_ROLLOVER
1	GC_ALLGESTURES
1	GC_ZOOM
1	GC_PAN
2	GC_PAN_WITH_SINGLE_FINGER_VERTICALLY
4	GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY
8	GC_PAN_WITH_GUTTER
16	GC_PAN_WITH_INERTIA
1	GC_ROTATE
1	GC_TWOFINGERTAP
1	GC_PRESSANDTAP
1	GC_ROLLOVER
256	GESTURECONFIGMAXCOUNT
1	GCF_INCLUDE_ANCESTORS
1	NID_INTEGRATED_TOUCH
2	NID_EXTERNAL_TOUCH
4	NID_INTEGRATED_PEN
8	NID_EXTERNAL_PEN
64	NID_MULTI_INPUT
128	NID_READY
256	MAX_STR_BLOCKREASON
458752	PM_QS_INPUT
2097152	PM_QS_PAINT
9961472	PM_QS_POSTMESSAGE
4194304	PM_QS_SENDMESSAGE
13565952	WS_TILEDWINDOW
User avatar
jNizM
Posts: 3183
Joined: 30 Sep 2013, 01:33
Contact:

Re: Ziggle() : A handy tool to lookup Win32 Constants

04 Feb 2022, 04:02

Thank you for this tool.
Take a look at Constantine by Alguimist. He did something similar. Maybe you can find something useful in his script for your tool.
Spoiler
[AHK] v2.0.5 | [WIN] 11 Pro (Version 22H2) | [GitHub] Profile
neogna2
Posts: 598
Joined: 15 Sep 2016, 15:44

Re: Ziggle() : A handy tool to lookup Win32 Constants

04 Feb 2022, 05:39

I noticed that jeeswg's list of windows messages has some items that are not in Ziggle, but don't know relevant that is.

One use case is to start Ziggle with a seach term from a CLI parameter. The function Ziggle() itself has no parameter for a search string but we can either edit one in or make another helper script set the Ziggle GUI's search from a parameter like this

Code: Select all

if A_Args.Has(1)
    ControlSetText(A_Args[1], "Edit1", "Ziggle ahk_class AutoHotkeyGUI")

Return to “Scripts and Functions (v2)”

Who is online

Users browsing this forum: DRS and 17 guests