Code:
;;;;;;;;;;;;;;nomadmemory and other
GLOBAL CONST $BS_GROUPBOX= 7
GLOBAL CONST $BS_BOTTOM= 2048
GLOBAL CONST $BS_CENTER= 768
GLOBAL CONST $BS_DEFPUSHBUTTON= 1
GLOBAL CONST $BS_LEFT= 256
GLOBAL CONST $BS_MULTILINE= 8192
GLOBAL CONST $BS_PUSHBOX= 10
GLOBAL CONST $BS_PUSHLIKE= 4096
GLOBAL CONST $BS_RIGHT= 512
GLOBAL CONST $BS_RIGHTBUTTON= 32
GLOBAL CONST $BS_TOP= 1024
GLOBAL CONST $BS_VCENTER= 3072
GLOBAL CONST $BS_FLAT= 32768
GLOBAL CONST $BS_ICON= 64
GLOBAL CONST $BS_BITMAP= 128
GLOBAL CONST $BS_NOTIFY= 16384
GLOBAL CONST $BS_SPLITBUTTON= 12
GLOBAL CONST $BS_DEFSPLITBUTTON= 13
GLOBAL CONST $BS_COMMANDLINK= 14
GLOBAL CONST $BS_DEFCOMMANDLINK= 15
GLOBAL CONST $BCSIF_GLYPH= 1
GLOBAL CONST $BCSIF_IMAGE= 2
GLOBAL CONST $BCSIF_STYLE= 4
GLOBAL CONST $BCSIF_SIZE= 8
GLOBAL CONST $BCSS_NOSPLIT= 1
GLOBAL CONST $BCSS_STRETCH= 2
GLOBAL CONST $BCSS_ALIGNLEFT= 4
GLOBAL CONST $BCSS_IMAGE= 8
GLOBAL CONST $BUTTON_IMAGELIST_ALIGN_LEFT= 0
GLOBAL CONST $BUTTON_IMAGELIST_ALIGN_RIGHT= 1
GLOBAL CONST $BUTTON_IMAGELIST_ALIGN_TOP= 2
GLOBAL CONST $BUTTON_IMAGELIST_ALIGN_BOTTOM= 3
GLOBAL CONST $BUTTON_IMAGELIST_ALIGN_CENTER= 4
GLOBAL CONST $BS_3STATE= 5
GLOBAL CONST $BS_AUTO3STATE= 6
GLOBAL CONST $BS_AUTOCHECKBOX= 3
GLOBAL CONST $BS_CHECKBOX= 2
GLOBAL CONST $BS_RADIOBUTTON= 4
GLOBAL CONST $BS_AUTORADIOBUTTON= 9
GLOBAL CONST $BS_OWNERDRAW= 11
GLOBAL CONST $GUI_SS_DEFAULT_BUTTON= 0
GLOBAL CONST $GUI_SS_DEFAULT_CHECKBOX= 0
GLOBAL CONST $GUI_SS_DEFAULT_GROUP= 0
GLOBAL CONST $GUI_SS_DEFAULT_RADIO= 0
GLOBAL CONST $BCM_FIRST= 5632
GLOBAL CONST $BCM_GETIDEALSIZE=($BCM_FIRST + 1)
GLOBAL CONST $BCM_GETIMAGELIST=($BCM_FIRST + 3)
GLOBAL CONST $BCM_GETNOTE=($BCM_FIRST + 10)
GLOBAL CONST $BCM_GETNOTELENGTH=($BCM_FIRST + 11)
GLOBAL CONST $BCM_GETSPLITINFO=($BCM_FIRST + 8)
GLOBAL CONST $BCM_GETTEXTMARGIN=($BCM_FIRST + 5)
GLOBAL CONST $BCM_SETDROPDOWNSTATE=($BCM_FIRST + 6)
GLOBAL CONST $BCM_SETIMAGELIST=($BCM_FIRST + 2)
GLOBAL CONST $BCM_SETNOTE=($BCM_FIRST + 9)
GLOBAL CONST $BCM_SETSHIELD=($BCM_FIRST + 12)
GLOBAL CONST $BCM_SETSPLITINFO=($BCM_FIRST + 7)
GLOBAL CONST $BCM_SETTEXTMARGIN=($BCM_FIRST + 4)
GLOBAL CONST $BM_CLICK= 245
GLOBAL CONST $BM_GETCHECK= 240
GLOBAL CONST $BM_GETIMAGE= 246
GLOBAL CONST $BM_GETSTATE= 242
GLOBAL CONST $BM_SETCHECK= 241
GLOBAL CONST $BM_SETDONTCLICK= 248
GLOBAL CONST $BM_SETIMAGE= 247
GLOBAL CONST $BM_SETSTATE= 243
GLOBAL CONST $BM_SETSTYLE= 244
GLOBAL CONST $BCN_FIRST= - 1250
GLOBAL CONST $BCN_DROPDOWN=($BCN_FIRST + 2)
GLOBAL CONST $BCN_HOTITEMCHANGE=($BCN_FIRST + 1)
GLOBAL CONST $BN_CLICKED= 0
GLOBAL CONST $BN_PAINT= 1
GLOBAL CONST $BN_HILITE= 2
GLOBAL CONST $BN_UNHILITE= 3
GLOBAL CONST $BN_DISABLE= 4
GLOBAL CONST $BN_DOUBLECLICKED= 5
GLOBAL CONST $BN_SETFOCUS= 6
GLOBAL CONST $BN_KILLFOCUS= 7
GLOBAL CONST $BN_PUSHED= $BN_HILITE
GLOBAL CONST $BN_UNPUSHED= $BN_UNHILITE
GLOBAL CONST $BN_DBLCLK= $BN_DOUBLECLICKED
GLOBAL CONST $BST_CHECKED= 1
GLOBAL CONST $BST_INDETERMINATE= 2
GLOBAL CONST $BST_UNCHECKED= 0
GLOBAL CONST $BST_FOCUS= 8
GLOBAL CONST $BST_PUSHED= 4
GLOBAL CONST $BST_DONTCLICK= 128
GLOBAL CONST $GUI_EVENT_CLOSE= - 3
GLOBAL CONST $GUI_EVENT_MINIMIZE= - 4
GLOBAL CONST $GUI_EVENT_RESTORE= - 5
GLOBAL CONST $GUI_EVENT_MAXIMIZE= - 6
GLOBAL CONST $GUI_EVENT_PRIMARYDOWN= - 7
GLOBAL CONST $GUI_EVENT_PRIMARYUP= - 8
GLOBAL CONST $GUI_EVENT_SECONDARYDOWN= - 9
GLOBAL CONST $GUI_EVENT_SECONDARYUP= - 10
GLOBAL CONST $GUI_EVENT_MOUSEMOVE= - 11
GLOBAL CONST $GUI_EVENT_RESIZED= - 12
GLOBAL CONST $GUI_EVENT_DROPPED= - 13
GLOBAL CONST $GUI_RUNDEFMSG= "GUI_RUNDEFMSG"
GLOBAL CONST $GUI_AVISTOP= 0
GLOBAL CONST $GUI_AVISTART= 1
GLOBAL CONST $GUI_AVICLOSE= 2
GLOBAL CONST $GUI_CHECKED= 1
GLOBAL CONST $GUI_INDETERMINATE= 2
GLOBAL CONST $GUI_UNCHECKED= 4
GLOBAL CONST $GUI_DROPACCEPTED= 8
GLOBAL CONST $GUI_NODROPACCEPTED= 4096
GLOBAL CONST $GUI_ACCEPTFILES= $GUI_DROPACCEPTED
GLOBAL CONST $GUI_SHOW= 16
GLOBAL CONST $GUI_HIDE= 32
GLOBAL CONST $GUI_ENABLE= 64
GLOBAL CONST $GUI_DISABLE= 128
GLOBAL CONST $GUI_FOCUS= 256
GLOBAL CONST $GUI_NOFOCUS= 8192
GLOBAL CONST $GUI_DEFBUTTON= 512
GLOBAL CONST $GUI_EXPAND= 1024
GLOBAL CONST $GUI_ONTOP= 2048
GLOBAL CONST $GUI_FONTITALIC= 2
GLOBAL CONST $GUI_FONTUNDER= 4
GLOBAL CONST $GUI_FONTSTRIKE= 8
GLOBAL CONST $GUI_DOCKAUTO= 1
GLOBAL CONST $GUI_DOCKLEFT= 2
GLOBAL CONST $GUI_DOCKRIGHT= 4
GLOBAL CONST $GUI_DOCKHCENTER= 8
GLOBAL CONST $GUI_DOCKTOP= 32
GLOBAL CONST $GUI_DOCKBOTTOM= 64
GLOBAL CONST $GUI_DOCKVCENTER= 128
GLOBAL CONST $GUI_DOCKWIDTH= 256
GLOBAL CONST $GUI_DOCKHEIGHT= 512
GLOBAL CONST $GUI_DOCKSIZE= 768
GLOBAL CONST $GUI_DOCKMENUBAR= 544
GLOBAL CONST $GUI_DOCKSTATEBAR= 576
GLOBAL CONST $GUI_DOCKALL= 802
GLOBAL CONST $GUI_DOCKBORDERS= 102
GLOBAL CONST $GUI_GR_CLOSE= 1
GLOBAL CONST $GUI_GR_LINE= 2
GLOBAL CONST $GUI_GR_BEZIER= 4
GLOBAL CONST $GUI_GR_MOVE= 6
GLOBAL CONST $GUI_GR_COLOR= 8
GLOBAL CONST $GUI_GR_RECT= 10
GLOBAL CONST $GUI_GR_ELLIPSE= 12
GLOBAL CONST $GUI_GR_PIE= 14
GLOBAL CONST $GUI_GR_DOT= 16
GLOBAL CONST $GUI_GR_PIXEL= 18
GLOBAL CONST $GUI_GR_HINT= 20
GLOBAL CONST $GUI_GR_REFRESH= 22
GLOBAL CONST $GUI_GR_PENSIZE= 24
GLOBAL CONST $GUI_GR_NOBKCOLOR= - 2
GLOBAL CONST $GUI_BKCOLOR_DEFAULT= - 1
GLOBAL CONST $GUI_BKCOLOR_TRANSPARENT= - 2
GLOBAL CONST $GUI_BKCOLOR_LV_ALTERNATE= -33554432
GLOBAL CONST $GUI_WS_EX_PARENTDRAG= 1048576
GLOBAL CONST $SS_LEFT= 0
GLOBAL CONST $SS_CENTER= 1
GLOBAL CONST $SS_RIGHT= 2
GLOBAL CONST $SS_ICON= 3
GLOBAL CONST $SS_BLACKRECT= 4
GLOBAL CONST $SS_GRAYRECT= 5
GLOBAL CONST $SS_WHITERECT= 6
GLOBAL CONST $SS_BLACKFRAME= 7
GLOBAL CONST $SS_GRAYFRAME= 8
GLOBAL CONST $SS_WHITEFRAME= 9
GLOBAL CONST $SS_SIMPLE= 11
GLOBAL CONST $SS_LEFTNOWORDWRAP= 12
GLOBAL CONST $SS_BITMAP= 14
GLOBAL CONST $SS_ETCHEDHORZ= 16
GLOBAL CONST $SS_ETCHEDVERT= 17
GLOBAL CONST $SS_ETCHEDFRAME= 18
GLOBAL CONST $SS_NOPREFIX= 128
GLOBAL CONST $SS_NOTIFY= 256
GLOBAL CONST $SS_CENTERIMAGE= 512
GLOBAL CONST $SS_RIGHTJUST= 1024
GLOBAL CONST $SS_SUNKEN= 4096
GLOBAL CONST $GUI_SS_DEFAULT_LABEL= 0
GLOBAL CONST $GUI_SS_DEFAULT_GRAPHIC= 0
GLOBAL CONST $GUI_SS_DEFAULT_ICON= $SS_NOTIFY
GLOBAL CONST $GUI_SS_DEFAULT_PIC= $SS_NOTIFY
GLOBAL CONST $WS_TILED= 0
GLOBAL CONST $WS_OVERLAPPED= 0
GLOBAL CONST $WS_MAXIMIZEBOX= 65536
GLOBAL CONST $WS_MINIMIZEBOX= 131072
GLOBAL CONST $WS_TABSTOP= 65536
GLOBAL CONST $WS_GROUP= 131072
GLOBAL CONST $WS_SIZEBOX= 262144
GLOBAL CONST $WS_THICKFRAME= 262144
GLOBAL CONST $WS_SYSMENU= 524288
GLOBAL CONST $WS_HSCROLL= 1048576
GLOBAL CONST $WS_VSCROLL= 2097152
GLOBAL CONST $WS_DLGFRAME= 4194304
GLOBAL CONST $WS_BORDER= 8388608
GLOBAL CONST $WS_CAPTION= 12582912
GLOBAL CONST $WS_OVERLAPPEDWINDOW= 13565952
GLOBAL CONST $WS_TILEDWINDOW= 13565952
GLOBAL CONST $WS_MAXIMIZE= 16777216
GLOBAL CONST $WS_CLIPCHILDREN= 33554432
GLOBAL CONST $WS_CLIPSIBLINGS= 67108864
GLOBAL CONST $WS_DISABLED= 134217728
GLOBAL CONST $WS_VISIBLE= 268435456
GLOBAL CONST $WS_MINIMIZE= 536870912
GLOBAL CONST $WS_CHILD= 1073741824
GLOBAL CONST $WS_POPUP= -2147483648
GLOBAL CONST $WS_POPUPWINDOW= -2138570752
GLOBAL CONST $DS_MODALFRAME= 128
GLOBAL CONST $DS_SETFOREGROUND= 512
GLOBAL CONST $DS_CONTEXTHELP= 8192
GLOBAL CONST $WS_EX_ACCEPTFILES= 16
GLOBAL CONST $WS_EX_MDICHILD= 64
GLOBAL CONST $WS_EX_APPWINDOW= 262144
GLOBAL CONST $WS_EX_COMPOSITED= 33554432
GLOBAL CONST $WS_EX_CLIENTEDGE= 512
GLOBAL CONST $WS_EX_CONTEXTHELP= 1024
GLOBAL CONST $WS_EX_DLGMODALFRAME= 1
GLOBAL CONST $WS_EX_LEFTSCROLLBAR= 16384
GLOBAL CONST $WS_EX_OVERLAPPEDWINDOW= 768
GLOBAL CONST $WS_EX_RIGHT= 4096
GLOBAL CONST $WS_EX_STATICEDGE= 131072
GLOBAL CONST $WS_EX_TOOLWINDOW= 128
GLOBAL CONST $WS_EX_TOPMOST= 8
GLOBAL CONST $WS_EX_TRANSPARENT= 32
GLOBAL CONST $WS_EX_WINDOWEDGE= 256
GLOBAL CONST $WS_EX_LAYERED= 524288
GLOBAL CONST $WS_EX_CONTROLPARENT= 65536
GLOBAL CONST $WS_EX_LAYOUTRTL= 4194304
GLOBAL CONST $WS_EX_RTLREADING= 8192
GLOBAL CONST $WM_GETTEXTLENGTH= 14
GLOBAL CONST $WM_GETTEXT= 13
GLOBAL CONST $WM_SIZE= 5
GLOBAL CONST $WM_SIZING= 532
GLOBAL CONST $WM_USER= 1024
GLOBAL CONST $WM_CREATE= 1
GLOBAL CONST $WM_DESTROY= 2
GLOBAL CONST $WM_MOVE= 3
GLOBAL CONST $WM_ACTIVATE= 6
GLOBAL CONST $WM_SETFOCUS= 7
GLOBAL CONST $WM_KILLFOCUS= 8
GLOBAL CONST $WM_ENABLE= 10
GLOBAL CONST $WM_SETREDRAW= 11
GLOBAL CONST $WM_SETTEXT= 12
GLOBAL CONST $WM_PAINT= 15
GLOBAL CONST $WM_CLOSE= 16
GLOBAL CONST $WM_QUIT= 18
GLOBAL CONST $WM_ERASEBKGND= 20
GLOBAL CONST $WM_SYSCOLORCHANGE= 21
GLOBAL CONST $WM_SHOWWINDOW= 24
GLOBAL CONST $WM_WININICHANGE= 26
GLOBAL CONST $WM_DEVMODECHANGE= 27
GLOBAL CONST $WM_ACTIVATEAPP= 28
GLOBAL CONST $WM_FONTCHANGE= 29
GLOBAL CONST $WM_TIMECHANGE= 30
GLOBAL CONST $WM_CANCELMODE= 31
GLOBAL CONST $WM_SETCURSOR= 32
GLOBAL CONST $WM_MOUSEACTIVATE= 33
GLOBAL CONST $WM_CHILDACTIVATE= 34
GLOBAL CONST $WM_QUEUESYNC= 35
GLOBAL CONST $WM_GETMINMAXINFO= 36
GLOBAL CONST $WM_PAINTICON= 38
GLOBAL CONST $WM_ICONERASEBKGND= 39
GLOBAL CONST $WM_NEXTDLGCTL= 40
GLOBAL CONST $WM_SPOOLERSTATUS= 42
GLOBAL CONST $WM_DRAWITEM= 43
GLOBAL CONST $WM_MEASUREITEM= 44
GLOBAL CONST $WM_DELETEITEM= 45
GLOBAL CONST $WM_VKEYTOITEM= 46
GLOBAL CONST $WM_CHARTOITEM= 47
GLOBAL CONST $WM_SETFONT= 48
GLOBAL CONST $WM_GETFONT= 49
GLOBAL CONST $WM_SETHOTKEY= 50
GLOBAL CONST $WM_GETHOTKEY= 51
GLOBAL CONST $WM_QUERYDRAGICON= 55
GLOBAL CONST $WM_COMPAREITEM= 57
GLOBAL CONST $WM_GETOBJECT= 61
GLOBAL CONST $WM_COMPACTING= 65
GLOBAL CONST $WM_COMMNOTIFY= 68
GLOBAL CONST $WM_WINDOWPOSCHANGING= 70
GLOBAL CONST $WM_WINDOWPOSCHANGED= 71
GLOBAL CONST $WM_POWER= 72
GLOBAL CONST $WM_NOTIFY= 78
GLOBAL CONST $WM_COPYDATA= 74
GLOBAL CONST $WM_CANCELJOURNAL= 75
GLOBAL CONST $WM_INPUTLANGCHANGEREQUEST= 80
GLOBAL CONST $WM_INPUTLANGCHANGE= 81
GLOBAL CONST $WM_TCARD= 82
GLOBAL CONST $WM_HELP= 83
GLOBAL CONST $WM_USERCHANGED= 84
GLOBAL CONST $WM_NOTIFYFORMAT= 85
GLOBAL CONST $WM_CUT= 768
GLOBAL CONST $WM_COPY= 769
GLOBAL CONST $WM_PASTE= 770
GLOBAL CONST $WM_CLEAR= 771
GLOBAL CONST $WM_UNDO= 772
GLOBAL CONST $WM_CONTEXTMENU= 123
GLOBAL CONST $WM_STYLECHANGING= 124
GLOBAL CONST $WM_STYLECHANGED= 125
GLOBAL CONST $WM_DISPLAYCHANGE= 126
GLOBAL CONST $WM_GETICON= 127
GLOBAL CONST $WM_SETICON= 128
GLOBAL CONST $WM_NCCREATE= 129
GLOBAL CONST $WM_NCDESTROY= 130
GLOBAL CONST $WM_NCCALCSIZE= 131
GLOBAL CONST $WM_NCHITTEST= 132
GLOBAL CONST $WM_NCPAINT= 133
GLOBAL CONST $WM_NCACTIVATE= 134
GLOBAL CONST $WM_GETDLGCODE= 135
GLOBAL CONST $WM_SYNCPAINT= 136
GLOBAL CONST $WM_NCMOUSEMOVE= 160
GLOBAL CONST $WM_NCLBUTTONDOWN= 161
GLOBAL CONST $WM_NCLBUTTONUP= 162
GLOBAL CONST $WM_NCLBUTTONDBLCLK= 163
GLOBAL CONST $WM_NCRBUTTONDOWN= 164
GLOBAL CONST $WM_NCRBUTTONUP= 165
GLOBAL CONST $WM_NCRBUTTONDBLCLK= 166
GLOBAL CONST $WM_NCMBUTTONDOWN= 167
GLOBAL CONST $WM_NCMBUTTONUP= 168
GLOBAL CONST $WM_NCMBUTTONDBLCLK= 169
GLOBAL CONST $WM_KEYDOWN= 256
GLOBAL CONST $WM_KEYUP= 257
GLOBAL CONST $WM_CHAR= 258
GLOBAL CONST $WM_DEADCHAR= 259
GLOBAL CONST $WM_SYSKEYDOWN= 260
GLOBAL CONST $WM_SYSKEYUP= 261
GLOBAL CONST $WM_SYSCHAR= 262
GLOBAL CONST $WM_SYSDEADCHAR= 263
GLOBAL CONST $WM_INITDIALOG= 272
GLOBAL CONST $WM_COMMAND= 273
GLOBAL CONST $WM_SYSCOMMAND= 274
GLOBAL CONST $WM_TIMER= 275
GLOBAL CONST $WM_HSCROLL= 276
GLOBAL CONST $WM_VSCROLL= 277
GLOBAL CONST $WM_INITMENU= 278
GLOBAL CONST $WM_INITMENUPOPUP= 279
GLOBAL CONST $WM_MENUSELECT= 287
GLOBAL CONST $WM_MENUCHAR= 288
GLOBAL CONST $WM_ENTERIDLE= 289
GLOBAL CONST $WM_MENURBUTTONUP= 290
GLOBAL CONST $WM_MENUDRAG= 291
GLOBAL CONST $WM_MENUGETOBJECT= 292
GLOBAL CONST $WM_UNINITMENUPOPUP= 293
GLOBAL CONST $WM_MENUCOMMAND= 294
GLOBAL CONST $WM_CHANGEUISTATE= 295
GLOBAL CONST $WM_UPDATEUISTATE= 296
GLOBAL CONST $WM_QUERYUISTATE= 297
GLOBAL CONST $WM_CTLCOLORMSGBOX= 306
GLOBAL CONST $WM_CTLCOLOREDIT= 307
GLOBAL CONST $WM_CTLCOLORLISTBOX= 308
GLOBAL CONST $WM_CTLCOLORBTN= 309
GLOBAL CONST $WM_CTLCOLORDLG= 310
GLOBAL CONST $WM_CTLCOLORSCROLLBAR= 311
GLOBAL CONST $WM_CTLCOLORSTATIC= 312
GLOBAL CONST $WM_CTLCOLOR= 25
GLOBAL CONST $MN_GETHMENU= 481
GLOBAL CONST $NM_FIRST= 0
GLOBAL CONST $NM_OUTOFMEMORY= $NM_FIRST - 1
GLOBAL CONST $NM_CLICK= $NM_FIRST - 2
GLOBAL CONST $NM_DBLCLK= $NM_FIRST - 3
GLOBAL CONST $NM_RETURN= $NM_FIRST - 4
GLOBAL CONST $NM_RCLICK= $NM_FIRST - 5
GLOBAL CONST $NM_RDBLCLK= $NM_FIRST - 6
GLOBAL CONST $NM_SETFOCUS= $NM_FIRST - 7
GLOBAL CONST $NM_KILLFOCUS= $NM_FIRST - 8
GLOBAL CONST $NM_CUSTOMDRAW= $NM_FIRST - 12
GLOBAL CONST $NM_HOVER= $NM_FIRST - 13
GLOBAL CONST $NM_NCHITTEST= $NM_FIRST - 14
GLOBAL CONST $NM_KEYDOWN= $NM_FIRST - 15
GLOBAL CONST $NM_RELEASEDCAPTURE= $NM_FIRST - 16
GLOBAL CONST $NM_SETCURSOR= $NM_FIRST - 17
GLOBAL CONST $NM_CHAR= $NM_FIRST - 18
GLOBAL CONST $NM_TOOLTIPSCREATED= $NM_FIRST - 19
GLOBAL CONST $NM_LDOWN= $NM_FIRST - 20
GLOBAL CONST $NM_RDOWN= $NM_FIRST - 21
GLOBAL CONST $NM_THEMECHANGED= $NM_FIRST - 22
GLOBAL CONST $WM_MOUSEMOVE= 512
GLOBAL CONST $WM_LBUTTONDOWN= 513
GLOBAL CONST $WM_LBUTTONUP= 514
GLOBAL CONST $WM_LBUTTONDBLCLK= 515
GLOBAL CONST $WM_RBUTTONDOWN= 516
GLOBAL CONST $WM_RBUTTONUP= 517
GLOBAL CONST $WM_RBUTTONDBLCK= 518
GLOBAL CONST $WM_MBUTTONDOWN= 519
GLOBAL CONST $WM_MBUTTONUP= 520
GLOBAL CONST $WM_MBUTTONDBLCK= 521
GLOBAL CONST $WM_MOUSEWHEEL= 522
GLOBAL CONST $WM_XBUTTONDOWN= 523
GLOBAL CONST $WM_XBUTTONUP= 524
GLOBAL CONST $WM_XBUTTONDBLCLK= 525
GLOBAL CONST $WM_MOUSEHWHEEL= 526
GLOBAL CONST $PS_SOLID= 0
GLOBAL CONST $PS_DASH= 1
GLOBAL CONST $PS_DOT= 2
GLOBAL CONST $PS_DASHDOT= 3
GLOBAL CONST $PS_DASHDOTDOT= 4
GLOBAL CONST $PS_NULL= 5
GLOBAL CONST $PS_INSIDEFRAME= 6
GLOBAL CONST $LWA_ALPHA= 2
GLOBAL CONST $LWA_COLORKEY= 1
GLOBAL CONST $RGN_AND= 1
GLOBAL CONST $RGN_OR= 2
GLOBAL CONST $RGN_XOR= 3
GLOBAL CONST $RGN_DIFF= 4
GLOBAL CONST $RGN_COPY= 5
GLOBAL CONST $ERRORREGION= 0
GLOBAL CONST $NULLREGION= 1
GLOBAL CONST $SIMPLEREGION= 2
GLOBAL CONST $COMPLEXREGION= 3
GLOBAL CONST $TRANSPARENT= 1
GLOBAL CONST $OPAQUE= 2
GLOBAL CONST $CCM_FIRST= 8192
GLOBAL CONST $CCM_GETUNICODEFORMAT=($CCM_FIRST + 6)
GLOBAL CONST $CCM_SETUNICODEFORMAT=($CCM_FIRST + 5)
GLOBAL CONST $CCM_SETBKCOLOR= $CCM_FIRST + 1
GLOBAL CONST $CCM_SETCOLORSCHEME= $CCM_FIRST + 2
GLOBAL CONST $CCM_GETCOLORSCHEME= $CCM_FIRST + 3
GLOBAL CONST $CCM_GETDROPTARGET= $CCM_FIRST + 4
GLOBAL CONST $CCM_SETWINDOWTHEME= $CCM_FIRST + 11
GLOBAL CONST $GA_PARENT= 1
GLOBAL CONST $GA_ROOT= 2
GLOBAL CONST $GA_ROOTOWNER= 3
GLOBAL CONST $SM_CXSCREEN= 0
GLOBAL CONST $SM_CYSCREEN= 1
GLOBAL CONST $SM_CXVSCROLL= 2
GLOBAL CONST $SM_CYHSCROLL= 3
GLOBAL CONST $SM_CYCAPTION= 4
GLOBAL CONST $SM_CXBORDER= 5
GLOBAL CONST $SM_CYBORDER= 6
GLOBAL CONST $SM_CXDLGFRAME= 7
GLOBAL CONST $SM_CYDLGFRAME= 8
GLOBAL CONST $SM_CYVTHUMB= 9
GLOBAL CONST $SM_CXHTHUMB= 10
GLOBAL CONST $SM_CXICON= 11
GLOBAL CONST $SM_CYICON= 12
GLOBAL CONST $SM_CXCURSOR= 13
GLOBAL CONST $SM_CYCURSOR= 14
GLOBAL CONST $SM_CYMENU= 15
GLOBAL CONST $SM_CXFULLSCREEN= 16
GLOBAL CONST $SM_CYFULLSCREEN= 17
GLOBAL CONST $SM_CYKANJIWINDOW= 18
GLOBAL CONST $SM_MOUSEPRESENT= 19
GLOBAL CONST $SM_CYVSCROLL= 20
GLOBAL CONST $SM_CXHSCROLL= 21
GLOBAL CONST $SM_DEBUG= 22
GLOBAL CONST $SM_SWAPBUTTON= 23
GLOBAL CONST $SM_RESERVED1= 24
GLOBAL CONST $SM_RESERVED2= 25
GLOBAL CONST $SM_RESERVED3= 26
GLOBAL CONST $SM_RESERVED4= 27
GLOBAL CONST $SM_CXMIN= 28
GLOBAL CONST $SM_CYMIN= 29
GLOBAL CONST $SM_CXSIZE= 30
GLOBAL CONST $SM_CYSIZE= 31
GLOBAL CONST $SM_CXFRAME= 32
GLOBAL CONST $SM_CYFRAME= 33
GLOBAL CONST $SM_CXMINTRACK= 34
GLOBAL CONST $SM_CYMINTRACK= 35
GLOBAL CONST $SM_CXDOUBLECLK= 36
GLOBAL CONST $SM_CYDOUBLECLK= 37
GLOBAL CONST $SM_CXICONSPACING= 38
GLOBAL CONST $SM_CYICONSPACING= 39
GLOBAL CONST $SM_MENUDROPALIGNMENT= 40
GLOBAL CONST $SM_PENWINDOWS= 41
GLOBAL CONST $SM_DBCSENABLED= 42
GLOBAL CONST $SM_CMOUSEBUTTONS= 43
GLOBAL CONST $SM_SECURE= 44
GLOBAL CONST $SM_CXEDGE= 45
GLOBAL CONST $SM_CYEDGE= 46
GLOBAL CONST $SM_CXMINSPACING= 47
GLOBAL CONST $SM_CYMINSPACING= 48
GLOBAL CONST $SM_CXSMICON= 49
GLOBAL CONST $SM_CYSMICON= 50
GLOBAL CONST $SM_CYSMCAPTION= 51
GLOBAL CONST $SM_CXSMSIZE= 52
GLOBAL CONST $SM_CYSMSIZE= 53
GLOBAL CONST $SM_CXMENUSIZE= 54
GLOBAL CONST $SM_CYMENUSIZE= 55
GLOBAL CONST $SM_ARRANGE= 56
GLOBAL CONST $SM_CXMINIMIZED= 57
GLOBAL CONST $SM_CYMINIMIZED= 58
GLOBAL CONST $SM_CXMAXTRACK= 59
GLOBAL CONST $SM_CYMAXTRACK= 60
GLOBAL CONST $SM_CXMAXIMIZED= 61
GLOBAL CONST $SM_CYMAXIMIZED= 62
GLOBAL CONST $SM_NETWORK= 63
GLOBAL CONST $SM_CLEANBOOT= 67
GLOBAL CONST $SM_CXDRAG= 68
GLOBAL CONST $SM_CYDRAG= 69
GLOBAL CONST $SM_SHOWSOUNDS= 70
GLOBAL CONST $SM_CXMENUCHECK= 71
GLOBAL CONST $SM_CYMENUCHECK= 72
GLOBAL CONST $SM_SLOWMACHINE= 73
GLOBAL CONST $SM_MIDEASTENABLED= 74
GLOBAL CONST $SM_MOUSEWHEELPRESENT= 75
GLOBAL CONST $SM_XVIRTUALSCREEN= 76
GLOBAL CONST $SM_YVIRTUALSCREEN= 77
GLOBAL CONST $SM_CXVIRTUALSCREEN= 78
GLOBAL CONST $SM_CYVIRTUALSCREEN= 79
GLOBAL CONST $SM_CMONITORS= 80
GLOBAL CONST $SM_SAMEDISPLAYFORMAT= 81
GLOBAL CONST $SM_IMMENABLED= 82
GLOBAL CONST $SM_CXFOCUSBORDER= 83
GLOBAL CONST $SM_CYFOCUSBORDER= 84
GLOBAL CONST $SM_TABLETPC= 86
GLOBAL CONST $SM_MEDIACENTER= 87
GLOBAL CONST $SM_STARTER= 88
GLOBAL CONST $SM_SERVERR2= 89
GLOBAL CONST $SM_CMETRICS= 90
GLOBAL CONST $SM_REMOTESESSION= 4096
GLOBAL CONST $SM_SHUTTINGDOWN= 8192
GLOBAL CONST $SM_REMOTECONTROL= 8193
GLOBAL CONST $SM_CARETBLINKINGENABLED= 8194
GLOBAL CONST $BLACKNESS= 66
GLOBAL CONST $CAPTUREBLT= 1073741824
GLOBAL CONST $DSTINVERT= 5570569
GLOBAL CONST $MERGECOPY= 12583114
GLOBAL CONST $MERGEPAINT= 12255782
GLOBAL CONST $NOMIRRORBITMAP= -2147483648
GLOBAL CONST $NOTSRCCOPY= 3342344
GLOBAL CONST $NOTSRCERASE= 1114278
GLOBAL CONST $PATCOPY= 15728673
GLOBAL CONST $PATINVERT= 5898313
GLOBAL CONST $PATPAINT= 16452105
GLOBAL CONST $SRCAND= 8913094
GLOBAL CONST $SRCCOPY= 13369376
GLOBAL CONST $SRCERASE= 4457256
GLOBAL CONST $SRCINVERT= 6684742
GLOBAL CONST $SRCPAINT= 15597702
GLOBAL CONST $WHITENESS= 16711778
GLOBAL CONST $DT_BOTTOM= 8
GLOBAL CONST $DT_CALCRECT= 1024
GLOBAL CONST $DT_CENTER= 1
GLOBAL CONST $DT_EDITCONTROL= 8192
GLOBAL CONST $DT_END_ELLIPSIS= 32768
GLOBAL CONST $DT_EXPANDTABS= 64
GLOBAL CONST $DT_EXTERNALLEADING= 512
GLOBAL CONST $DT_HIDEPREFIX= 1048576
GLOBAL CONST $DT_INTERNAL= 4096
GLOBAL CONST $DT_LEFT= 0
GLOBAL CONST $DT_MODIFYSTRING= 65536
GLOBAL CONST $DT_NOCLIP= 256
GLOBAL CONST $DT_NOFULLWIDTHCHARBREAK= 524288
GLOBAL CONST $DT_NOPREFIX= 2048
GLOBAL CONST $DT_PATH_ELLIPSIS= 16384
GLOBAL CONST $DT_PREFIXONLY= 2097152
GLOBAL CONST $DT_RIGHT= 2
GLOBAL CONST $DT_RTLREADING= 131072
GLOBAL CONST $DT_SINGLELINE= 32
GLOBAL CONST $DT_TABSTOP= 128
GLOBAL CONST $DT_TOP= 0
GLOBAL CONST $DT_VCENTER= 4
GLOBAL CONST $DT_WORDBREAK= 16
GLOBAL CONST $DT_WORD_ELLIPSIS= 262144
GLOBAL CONST $RDW_ERASE= 4
GLOBAL CONST $RDW_FRAME= 1024
GLOBAL CONST $RDW_INTERNALPAINT= 2
GLOBAL CONST $RDW_INVALIDATE= 1
GLOBAL CONST $RDW_NOERASE= 32
GLOBAL CONST $RDW_NOFRAME= 2048
GLOBAL CONST $RDW_NOINTERNALPAINT= 16
GLOBAL CONST $RDW_VALIDATE= 8
GLOBAL CONST $RDW_ERASENOW= 512
GLOBAL CONST $RDW_UPDATENOW= 256
GLOBAL CONST $RDW_ALLCHILDREN= 128
GLOBAL CONST $RDW_NOCHILDREN= 64
GLOBAL CONST $WM_RENDERFORMAT= 773
GLOBAL CONST $WM_RENDERALLFORMATS= 774
GLOBAL CONST $WM_DESTROYCLIPBOARD= 775
GLOBAL CONST $WM_DRAWCLIPBOARD= 776
GLOBAL CONST $WM_PAINTCLIPBOARD= 777
GLOBAL CONST $WM_VSCROLLCLIPBOARD= 778
GLOBAL CONST $WM_SIZECLIPBOARD= 779
GLOBAL CONST $WM_ASKCBFORMATNAME= 780
GLOBAL CONST $WM_CHANGECBCHAIN= 781
GLOBAL CONST $WM_HSCROLLCLIPBOARD= 782
GLOBAL CONST $HTERROR= - 2
GLOBAL CONST $HTTRANSPARENT= - 1
GLOBAL CONST $HTNOWHERE= 0
GLOBAL CONST $HTCLIENT= 1
GLOBAL CONST $HTCAPTION= 2
GLOBAL CONST $HTSYSMENU= 3
GLOBAL CONST $HTGROWBOX= 4
GLOBAL CONST $HTSIZE= $HTGROWBOX
GLOBAL CONST $HTMENU= 5
GLOBAL CONST $HTHSCROLL= 6
GLOBAL CONST $HTVSCROLL= 7
GLOBAL CONST $HTMINBUTTON= 8
GLOBAL CONST $HTMAXBUTTON= 9
GLOBAL CONST $HTLEFT= 10
GLOBAL CONST $HTRIGHT= 11
GLOBAL CONST $HTTOP= 12
GLOBAL CONST $HTTOPLEFT= 13
GLOBAL CONST $HTTOPRIGHT= 14
GLOBAL CONST $HTBOTTOM= 15
GLOBAL CONST $HTBOTTOMLEFT= 16
GLOBAL CONST $HTBOTTOMRIGHT= 17
GLOBAL CONST $HTBORDER= 18
GLOBAL CONST $HTREDUCE= $HTMINBUTTON
GLOBAL CONST $HTZOOM= $HTMAXBUTTON
GLOBAL CONST $HTSIZEFIRST= $HTLEFT
GLOBAL CONST $HTSIZELAST= $HTBOTTOMRIGHT
GLOBAL CONST $HTOBJECT= 19
GLOBAL CONST $HTCLOSE= 20
GLOBAL CONST $HTHELP= 21
GLOBAL CONST $COLOR_SCROLLBAR= 0
GLOBAL CONST $COLOR_BACKGROUND= 1
GLOBAL CONST $COLOR_ACTIVECAPTION= 2
GLOBAL CONST $COLOR_INACTIVECAPTION= 3
GLOBAL CONST $COLOR_MENU= 4
GLOBAL CONST $COLOR_WINDOW= 5
GLOBAL CONST $COLOR_WINDOWFRAME= 6
GLOBAL CONST $COLOR_MENUTEXT= 7
GLOBAL CONST $COLOR_WINDOWTEXT= 8
GLOBAL CONST $COLOR_CAPTIONTEXT= 9
GLOBAL CONST $COLOR_ACTIVEBORDER= 10
GLOBAL CONST $COLOR_INACTIVEBORDER= 11
GLOBAL CONST $COLOR_APPWORKSPACE= 12
GLOBAL CONST $COLOR_HIGHLIGHT= 13
GLOBAL CONST $COLOR_HIGHLIGHTTEXT= 14
GLOBAL CONST $COLOR_BTNFACE= 15
GLOBAL CONST $COLOR_BTNSHADOW= 16
GLOBAL CONST $COLOR_GRAYTEXT= 17
GLOBAL CONST $COLOR_BTNTEXT= 18
GLOBAL CONST $COLOR_INACTIVECAPTIONTEXT= 19
GLOBAL CONST $COLOR_BTNHIGHLIGHT= 20
GLOBAL CONST $COLOR_3DDKSHADOW= 21
GLOBAL CONST $COLOR_3DLIGHT= 22
GLOBAL CONST $COLOR_INFOTEXT= 23
GLOBAL CONST $COLOR_INFOBK= 24
GLOBAL CONST $COLOR_HOTLIGHT= 26
GLOBAL CONST $COLOR_GRADIENTACTIVECAPTION= 27
GLOBAL CONST $COLOR_GRADIENTINACTIVECAPTION= 28
GLOBAL CONST $COLOR_MENUHILIGHT= 29
GLOBAL CONST $COLOR_MENUBAR= 30
GLOBAL CONST $COLOR_DESKTOP= 1
GLOBAL CONST $COLOR_3DFACE= 15
GLOBAL CONST $COLOR_3DSHADOW= 16
GLOBAL CONST $COLOR_3DHIGHLIGHT= 20
GLOBAL CONST $COLOR_3DHILIGHT= 20
GLOBAL CONST $COLOR_BTNHILIGHT= 20
GLOBAL CONST $HINST_COMMCTRL= - 1
GLOBAL CONST $IDB_STD_SMALL_COLOR= 0
GLOBAL CONST $IDB_STD_LARGE_COLOR= 1
GLOBAL CONST $IDB_VIEW_SMALL_COLOR= 4
GLOBAL CONST $IDB_VIEW_LARGE_COLOR= 5
GLOBAL CONST $IDB_HIST_SMALL_COLOR= 8
GLOBAL CONST $IDB_HIST_LARGE_COLOR= 9
GLOBAL CONST $STARTF_FORCEOFFFEEDBACK= 128
GLOBAL CONST $STARTF_FORCEONFEEDBACK= 64
GLOBAL CONST $STARTF_RUNFULLSCREEN= 32
GLOBAL CONST $STARTF_USECOUNTCHARS= 8
GLOBAL CONST $STARTF_USEFILLATTRIBUTE= 16
GLOBAL CONST $STARTF_USEHOTKEY= 512
GLOBAL CONST $STARTF_USEPOSITION= 4
GLOBAL CONST $STARTF_USESHOWWINDOW= 1
GLOBAL CONST $STARTF_USESIZE= 2
GLOBAL CONST $STARTF_USESTDHANDLES= 256
GLOBAL CONST $CDDS_PREPAINT= 1
GLOBAL CONST $CDDS_POSTPAINT= 2
GLOBAL CONST $CDDS_PREERASE= 3
GLOBAL CONST $CDDS_POSTERASE= 4
GLOBAL CONST $CDDS_ITEM= 65536
GLOBAL CONST $CDDS_ITEMPREPAINT= 65537
GLOBAL CONST $CDDS_ITEMPOSTPAINT= 65538
GLOBAL CONST $CDDS_ITEMPREERASE= 65539
GLOBAL CONST $CDDS_ITEMPOSTERASE= 65540
GLOBAL CONST $CDDS_SUBITEM= 131072
GLOBAL CONST $CDIS_SELECTED= 1
GLOBAL CONST $CDIS_GRAYED= 2
GLOBAL CONST $CDIS_DISABLED= 4
GLOBAL CONST $CDIS_CHECKED= 8
GLOBAL CONST $CDIS_FOCUS= 16
GLOBAL CONST $CDIS_DEFAULT= 32
GLOBAL CONST $CDIS_HOT= 64
GLOBAL CONST $CDIS_MARKED= 128
GLOBAL CONST $CDIS_INDETERMINATE= 256
GLOBAL CONST $CDIS_SHOWKEYBOARDCUES= 512
GLOBAL CONST $CDIS_NEARHOT= 1024
GLOBAL CONST $CDIS_OTHERSIDEHOT= 2048
GLOBAL CONST $CDIS_DROPHILITED= 4096
GLOBAL CONST $CDRF_DODEFAULT= 0
GLOBAL CONST $CDRF_NEWFONT= 2
GLOBAL CONST $CDRF_SKIPDEFAULT= 4
GLOBAL CONST $CDRF_NOTIFYPOSTPAINT= 16
GLOBAL CONST $CDRF_NOTIFYITEMDRAW= 32
GLOBAL CONST $CDRF_NOTIFYSUBITEMDRAW= 32
GLOBAL CONST $CDRF_NOTIFYPOSTERASE= 64
GLOBAL CONST $CDRF_DOERASE= 8
GLOBAL CONST $CDRF_SKIPPOSTPAINT= 256
GLOBAL CONST $GUI_SS_DEFAULT_GUI= BITOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU)
#region _Memory
FUNC _MEMORYOPEN($IV_PID, $IV_DESIREDACCESS= 2035711, $IV_INHERITHANDLE= 1)
IF NOT PROCESSEXISTS($IV_PID) THEN
SETERROR(1)
RETURN 0
ENDIF
LOCAL $AH_HANDLE[2]=[DLLOPEN("kernel32.dll")]
IF @ERROR THEN
SETERROR(2)
RETURN 0
ENDIF
LOCAL $AV_OPENPROCESS= DLLCALL($AH_HANDLE[0], "int", "OpenProcess", "int", $IV_DESIREDACCESS, "int", $IV_INHERITHANDLE, "int", $IV_PID)
IF @ERROR THEN
DLLCLOSE($AH_HANDLE[0])
SETERROR(3)
RETURN 0
ENDIF
$AH_HANDLE[1]= $AV_OPENPROCESS[0]
RETURN $AH_HANDLE
ENDFUNC
FUNC _MEMORYREAD($IV_ADDRESS, $AH_HANDLE, $SV_TYPE= "dword")
IF NOT ISARRAY($AH_HANDLE) THEN
SETERROR(1)
RETURN 0
ENDIF
LOCAL $V_BUFFER= DLLSTRUCTCREATE($SV_TYPE)
IF @ERROR THEN
SETERROR(@ERROR + 1)
RETURN 0
ENDIF
DLLCALL($AH_HANDLE[0], "int", "ReadProcessMemory", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DLLSTRUCTGETPTR($V_BUFFER), "int", DLLSTRUCTGETSIZE($V_BUFFER), "int", "")
IF NOT @ERROR THEN
LOCAL $V_VALUE= DLLSTRUCTGETDATA($V_BUFFER, 1)
RETURN $V_VALUE
ELSE
SETERROR(6)
RETURN 0
ENDIF
ENDFUNC
FUNC _MEMORYWRITE($IV_ADDRESS, $AH_HANDLE, $V_DATA, $SV_TYPE= "dword")
IF NOT ISARRAY($AH_HANDLE) THEN
SETERROR(1)
RETURN 0
ENDIF
LOCAL $V_BUFFER= DLLSTRUCTCREATE($SV_TYPE)
IF @ERROR THEN
SETERROR(@ERROR + 1)
RETURN 0
ELSE
DLLSTRUCTSETDATA($V_BUFFER, 1, $V_DATA)
IF @ERROR THEN
SETERROR(6)
RETURN 0
ENDIF
ENDIF
DLLCALL($AH_HANDLE[0], "int", "WriteProcessMemory", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DLLSTRUCTGETPTR($V_BUFFER), "int", DLLSTRUCTGETSIZE($V_BUFFER), "int", "")
IF NOT @ERROR THEN
RETURN 1
ELSE
SETERROR(7)
RETURN 0
ENDIF
ENDFUNC
FUNC _MEMORYCLOSE($AH_HANDLE)
IF NOT ISARRAY($AH_HANDLE) THEN
SETERROR(1)
RETURN 0
ENDIF
DLLCALL($AH_HANDLE[0], "int", "CloseHandle", "int", $AH_HANDLE[1])
IF NOT @ERROR THEN
DLLCLOSE($AH_HANDLE[0])
RETURN 1
ELSE
DLLCLOSE($AH_HANDLE[0])
SETERROR(2)
RETURN 0
ENDIF
ENDFUNC
FUNC SETPRIVILEGE($PRIVILEGE, $BENABLE)
CONST $TOKEN_ADJUST_PRIVILEGES= 32
CONST $TOKEN_QUERY= 8
CONST $SE_PRIVILEGE_ENABLED= 2
LOCAL $HTOKEN, $SP_AUXRET, $SP_RET, $HCURRPROCESS, $NTOKENS, $NTOKENINDEX, $PRIV
$NTOKENS= 1
$LUID= DLLSTRUCTCREATE("dword;int")
IF ISARRAY($PRIVILEGE) THEN $NTOKENS= UBOUND($PRIVILEGE)
$TOKEN_PRIVILEGES= DLLSTRUCTCREATE("dword;dword["&(3* $NTOKENS)& "]")
$NEWTOKEN_PRIVILEGES= DLLSTRUCTCREATE("dword;dword["&(3* $NTOKENS)& "]")
$HCURRPROCESS= DLLCALL("kernel32.dll", "hwnd", "GetCurrentProcess")
$SP_AUXRET= DLLCALL("advapi32.dll", "int", "OpenProcessToken", "hwnd", $HCURRPROCESS[0], "int", BITOR($TOKEN_ADJUST_PRIVILEGES, $TOKEN_QUERY), "int_ptr", 0)
IF $SP_AUXRET[0] THEN
$HTOKEN= $SP_AUXRET[3]
DLLSTRUCTSETDATA($TOKEN_PRIVILEGES, 1, 1)
$NTOKENINDEX= 1
WHILE $NTOKENINDEX<= $NTOKENS
IF ISARRAY($PRIVILEGE) THEN
$PRIV= $PRIVILEGE[$NTOKENINDEX - 1]
ELSE
$PRIV= $PRIVILEGE
ENDIF
$RET= DLLCALL("advapi32.dll", "int", "LookupPrivilegeValue", "str", "", "str", $PRIV, "ptr", DLLSTRUCTGETPTR($LUID))
IF $RET[0] THEN
IF $BENABLE THEN
DLLSTRUCTSETDATA($TOKEN_PRIVILEGES, 2, $SE_PRIVILEGE_ENABLED,(3* $NTOKENINDEX))
ELSE
DLLSTRUCTSETDATA($TOKEN_PRIVILEGES, 2, 0,(3* $NTOKENINDEX))
ENDIF
DLLSTRUCTSETDATA($TOKEN_PRIVILEGES, 2, DLLSTRUCTGETDATA($LUID, 1),(3*($NTOKENINDEX - 1)) + 1)
DLLSTRUCTSETDATA($TOKEN_PRIVILEGES, 2, DLLSTRUCTGETDATA($LUID, 2),(3*($NTOKENINDEX - 1)) + 2)
DLLSTRUCTSETDATA($LUID, 1, 0)
DLLSTRUCTSETDATA($LUID, 2, 0)
ENDIF
$NTOKENINDEX+= 1
WEND
$RET= DLLCALL("advapi32.dll", "int", "AdjustTokenPrivileges", "hwnd", $HTOKEN, "int", 0, "ptr", DLLSTRUCTGETPTR($TOKEN_PRIVILEGES), "int", DLLSTRUCTGETSIZE($NEWTOKEN_PRIVILEGES), "ptr", DLLSTRUCTGETPTR($NEWTOKEN_PRIVILEGES), "int_ptr", 0)
$F= DLLCALL("kernel32.dll", "int", "GetLastError")
ENDIF
$NEWTOKEN_PRIVILEGES= 0
$TOKEN_PRIVILEGES= 0
$LUID= 0
IF $SP_AUXRET[0]= 0 THEN RETURN 0
$SP_AUXRET= DLLCALL("kernel32.dll", "int", "CloseHandle", "hwnd", $HTOKEN)
IF NOT $RET[0] AND NOT $SP_AUXRET[0] THEN RETURN 0
RETURN $RET[0]
ENDFUNC
#endregion
FUNC _MEMORYPOINTERREAD($IV_ADDRESS, $AH_HANDLE, $AV_OFFSET, $SV_TYPE= "dword")
IF ISARRAY($AV_OFFSET) THEN
IF ISARRAY($AH_HANDLE) THEN
LOCAL $IV_POINTERCOUNT= UBOUND($AV_OFFSET) - 1
ELSE
SETERROR(2)
RETURN 0
ENDIF
ELSE
SETERROR(1)
RETURN 0
ENDIF
LOCAL $IV_DATA[2], $I
LOCAL $V_BUFFER= DLLSTRUCTCREATE("dword")
FOR $I= 0 TO $IV_POINTERCOUNT
IF $I= $IV_POINTERCOUNT THEN
$V_BUFFER= DLLSTRUCTCREATE($SV_TYPE)
IF @ERROR THEN
SETERROR(@ERROR + 2)
RETURN 0
ENDIF
$IV_ADDRESS= "0x"& HEX($IV_DATA[1] + $AV_OFFSET[$I])
DLLCALL($AH_HANDLE[0], "int", "ReadProcessMemory", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DLLSTRUCTGETPTR($V_BUFFER), "int", DLLSTRUCTGETSIZE($V_BUFFER), "int", "")
IF @ERROR THEN
SETERROR(7)
RETURN 0
ENDIF
$IV_DATA[1]= DLLSTRUCTGETDATA($V_BUFFER, 1)
ELSEIF $I= 0 THEN
DLLCALL($AH_HANDLE[0], "int", "ReadProcessMemory", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DLLSTRUCTGETPTR($V_BUFFER), "int", DLLSTRUCTGETSIZE($V_BUFFER), "int", "")
IF @ERROR THEN
SETERROR(7)
RETURN 0
ENDIF
$IV_DATA[1]= DLLSTRUCTGETDATA($V_BUFFER, 1)
ELSE
$IV_ADDRESS= "0x"& HEX($IV_DATA[1] + $AV_OFFSET[$I])
DLLCALL($AH_HANDLE[0], "int", "ReadProcessMemory", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DLLSTRUCTGETPTR($V_BUFFER), "int", DLLSTRUCTGETSIZE($V_BUFFER), "int", "")
IF @ERROR THEN
SETERROR(7)
RETURN 0
ENDIF
$IV_DATA[1]= DLLSTRUCTGETDATA($V_BUFFER, 1)
ENDIF
NEXT
$IV_DATA[0]= $IV_ADDRESS
RETURN $IV_DATA
ENDFUNC
FUNC _MEMORYGETBASEADDRESS($AH_HANDLE, $IHEXDEC= 0, $IV_ADDRESS= 1048576)
LOCAL $V_BUFFER= DLLSTRUCTCREATE("dword;dword;dword;dword;dword;dword;dword")
LOCAL $VDATA
LOCAL $VTYPE
IF NOT ISARRAY($AH_HANDLE) THEN
SETERROR(1)
RETURN 0
ENDIF
DLLCALL($AH_HANDLE[0], "int", "VirtualQueryEx", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DLLSTRUCTGETPTR($V_BUFFER), "int", DLLSTRUCTGETSIZE($V_BUFFER))
IF NOT @ERROR THEN
$VDATA= HEX(DLLSTRUCTGETDATA($V_BUFFER, 2))
$VTYPE= HEX(DLLSTRUCTGETDATA($V_BUFFER, 3))
WHILE $VTYPE<> "00000080"
DLLCALL($AH_HANDLE[0], "int", "VirtualQueryEx", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DLLSTRUCTGETPTR($V_BUFFER), "int", DLLSTRUCTGETSIZE($V_BUFFER))
$VDATA= HEX(DLLSTRUCTGETDATA($V_BUFFER, 2))
$VTYPE= HEX(DLLSTRUCTGETDATA($V_BUFFER, 3))
IF HEX($IV_ADDRESS)= "90000000" THEN EXITLOOP
$IV_ADDRESS+= 65536
WEND
IF $VTYPE= "00000080" THEN
SETERROR(0)
IF $IHEXDEC= 1 THEN
RETURN DEC($VDATA)
ELSE
RETURN $VDATA
ENDIF
ELSE
SETERROR(2)
RETURN 0
ENDIF
ELSE
SETERROR(3)
RETURN 0
ENDIF
ENDFUNC
FUNC _MEMORYMODULEGETBASEADDRESS($IPID, $SMODULE)
IF NOT PROCESSEXISTS($IPID) THEN RETURN SETERROR(1, 0, 0)
IF NOT ISSTRING($SMODULE) THEN RETURN SETERROR(2, 0, 0)
LOCAL $PSAPI= DLLOPEN("psapi.dll")
LOCAL $HPROCESS
LOCAL $PERMISSION= BITOR(2, 1024, 8, 16, 32)
IF $IPID> 0 THEN
LOCAL $HPROCESS= DLLCALL("kernel32.dll", "ptr", "OpenProcess", "dword", $PERMISSION, "int", 0, "dword", $IPID)
IF $HPROCESS[0] THEN
$HPROCESS= $HPROCESS[0]
ENDIF
ENDIF
LOCAL $MODULES= DLLSTRUCTCREATE("ptr[1024]")
LOCAL $ACALL= DLLCALL($PSAPI, "int", "EnumProcessModules", "ptr", $HPROCESS, "ptr", DLLSTRUCTGETPTR($MODULES), "dword", DLLSTRUCTGETSIZE($MODULES), "dword*", 0)
IF $ACALL[4]> 0 THEN
LOCAL $IMODNUM= $ACALL[4]/ 4
LOCAL $ATEMP
FOR $I= 1 TO $IMODNUM
$ATEMP= DLLCALL($PSAPI, "dword", "GetModuleBaseNameW", "ptr", $HPROCESS, "ptr", PTR(DLLSTRUCTGETDATA($MODULES, 1, $I)), "wstr", "", "dword", 260)
IF $ATEMP[3]= $SMODULE THEN
DLLCLOSE($PSAPI)
RETURN PTR(DLLSTRUCTGETDATA($MODULES, 1, $I))
ENDIF
NEXT
ENDIF
DLLCLOSE($PSAPI)
RETURN SETERROR(- 1, 0, 0)
ENDFUNC
;;;;;;;;;;;;;;end of included
FUNC SCAN()
$PID= WINGETPROCESS("Grand Fantasia")
$OPENMEM= _MEMORYOPEN($PID)
GLOBAL $ENEMYHPOFFSET[6]
$ENEMYHPOFFSET[0]= 0
$ENEMYHPOFFSET[1]= DEC("20")
$ENEMYHPOFFSET[2]= DEC("10")
$ENEMYHPOFFSET[3]= DEC("a8")
$ENEMYHPOFFSET[4]= DEC("8")
$ENEMYHPOFFSET[5]= DEC("94")
$STATICOFFSET= DEC("0061896C")
$OPENMEM= _MEMORYOPEN($PID)
$BASEADDR= _MEMORYMODULEGETBASEADDRESS($PID, "GrandFantasia.exe")
$FINALADDR= "0x"& HEX($BASEADDR + $STATICOFFSET)
$ENEMYHPPOINTER= _MEMORYPOINTERREAD($FINALADDR, $OPENMEM, $ENEMYHPOFFSET)
_MEMORYCLOSE($OPENMEM)
ENDFUNC