Advertisement
Guest User

Untitled

a guest
Apr 6th, 2014
439
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 88.67 KB | None | 0 0
  1. #RequireAdmin
  2. Global Const $FW_DONTCARE = 0
  3. Global Const $FW_THIN = 100
  4. Global Const $FW_EXTRALIGHT = 200
  5. Global Const $FW_ULTRALIGHT = 200
  6. Global Const $FW_LIGHT = 300
  7. Global Const $FW_NORMAL = 400
  8. Global Const $FW_REGULAR = 400
  9. Global Const $FW_MEDIUM = 500
  10. Global Const $FW_SEMIBOLD = 600
  11. Global Const $FW_DEMIBOLD = 600
  12. Global Const $FW_BOLD = 700
  13. Global Const $FW_EXTRABOLD = 800
  14. Global Const $FW_ULTRABOLD = 800
  15. Global Const $FW_HEAVY = 900
  16. Global Const $FW_BLACK = 900
  17. Global Const $CF_EFFECTS = 256
  18. Global Const $CF_PRINTERFONTS = 2
  19. Global Const $CF_SCREENFONTS = 1
  20. Global Const $CF_NOSCRIPTSEL = 8388608
  21. Global Const $CF_INITTOLOGFONTSTRUCT = 64
  22. Global Const $LOGPIXELSX = 88
  23. Global Const $LOGPIXELSY = 90
  24. Global Const $ANSI_CHARSET = 0
  25. Global Const $BALTIC_CHARSET = 186
  26. Global Const $CHINESEBIG5_CHARSET = 136
  27. Global Const $DEFAULT_CHARSET = 1
  28. Global Const $EASTEUROPE_CHARSET = 238
  29. Global Const $GB2312_CHARSET = 134
  30. Global Const $GREEK_CHARSET = 161
  31. Global Const $HANGEUL_CHARSET = 129
  32. Global Const $MAC_CHARSET = 77
  33. Global Const $OEM_CHARSET = 255
  34. Global Const $RUSSIAN_CHARSET = 204
  35. Global Const $SHIFTJIS_CHARSET = 128
  36. Global Const $SYMBOL_CHARSET = 2
  37. Global Const $TURKISH_CHARSET = 162
  38. Global Const $VIETNAMESE_CHARSET = 163
  39. Global Const $OUT_CHARACTER_PRECIS = 2
  40. Global Const $OUT_DEFAULT_PRECIS = 0
  41. Global Const $OUT_DEVICE_PRECIS = 5
  42. Global Const $OUT_OUTLINE_PRECIS = 8
  43. Global Const $OUT_PS_ONLY_PRECIS = 10
  44. Global Const $OUT_RASTER_PRECIS = 6
  45. Global Const $OUT_STRING_PRECIS = 1
  46. Global Const $OUT_STROKE_PRECIS = 3
  47. Global Const $OUT_TT_ONLY_PRECIS = 7
  48. Global Const $OUT_TT_PRECIS = 4
  49. Global Const $CLIP_CHARACTER_PRECIS = 1
  50. Global Const $CLIP_DEFAULT_PRECIS = 0
  51. Global Const $CLIP_EMBEDDED = 128
  52. Global Const $CLIP_LH_ANGLES = 16
  53. Global Const $CLIP_MASK = 15
  54. Global Const $CLIP_STROKE_PRECIS = 2
  55. Global Const $CLIP_TT_ALWAYS = 32
  56. Global Const $ANTIALIASED_QUALITY = 4
  57. Global Const $DEFAULT_QUALITY = 0
  58. Global Const $DRAFT_QUALITY = 1
  59. Global Const $NONANTIALIASED_QUALITY = 3
  60. Global Const $PROOF_QUALITY = 2
  61. Global Const $DEFAULT_PITCH = 0
  62. Global Const $FIXED_PITCH = 1
  63. Global Const $VARIABLE_PITCH = 2
  64. Global Const $FF_DECORATIVE = 80
  65. Global Const $FF_DONTCARE = 0
  66. Global Const $FF_MODERN = 48
  67. Global Const $FF_ROMAN = 16
  68. Global Const $FF_SCRIPT = 64
  69. Global Const $FF_SWISS = 32
  70. Global Const $TAGPOINT = "struct;long X;long Y;endstruct"
  71. Global Const $TAGRECT = "struct;long Left;long Top;long Right;long Bottom;endstruct"
  72. Global Const $TAGSIZE = "struct;long X;long Y;endstruct"
  73. Global Const $TAGMARGINS = "int cxLeftWidth;int cxRightWidth;int cyTopHeight;int cyBottomHeight"
  74. Global Const $TAGFILETIME = "struct;dword Lo;dword Hi;endstruct"
  75. Global Const $TAGSYSTEMTIME = "struct;word Year;word Month;word Dow;word Day;word Hour;word Minute;word Second;word MSeconds;endstruct"
  76. Global Const $TAGTIME_ZONE_INFORMATION = "struct;long Bias;wchar StdName[32];word StdDate[8];long StdBias;wchar DayName[32];word DayDate[8];long DayBias;endstruct"
  77. Global Const $TAGNMHDR = "struct;hwnd hWndFrom;uint_ptr IDFrom;INT Code;endstruct"
  78. Global Const $TAGCOMBOBOXEXITEM = "uint Mask;int_ptr Item;ptr Text;int TextMax;int Image;int SelectedImage;int OverlayImage;" & "int Indent;lparam Param"
  79. Global Const $TAGNMCBEDRAGBEGIN = $TAGNMHDR & ";int ItemID;wchar szText[260]"
  80. Global Const $TAGNMCBEENDEDIT = $TAGNMHDR & ";bool fChanged;int NewSelection;wchar szText[260];int Why"
  81. Global Const $TAGNMCOMBOBOXEX = $TAGNMHDR & ";uint Mask;int_ptr Item;ptr Text;int TextMax;int Image;" & "int SelectedImage;int OverlayImage;int Indent;lparam Param"
  82. Global Const $TAGDTPRANGE = "word MinYear;word MinMonth;word MinDOW;word MinDay;word MinHour;word MinMinute;" & "word MinSecond;word MinMSecond;word MaxYear;word MaxMonth;word MaxDOW;word MaxDay;word MaxHour;" & "word MaxMinute;word MaxSecond;word MaxMSecond;bool MinValid;bool MaxValid"
  83. Global Const $TAGNMDATETIMECHANGE = $TAGNMHDR & ";dword Flag;" & $TAGSYSTEMTIME
  84. Global Const $TAGNMDATETIMEFORMAT = $TAGNMHDR & ";ptr Format;" & $TAGSYSTEMTIME & ";ptr pDisplay;wchar Display[64]"
  85. Global Const $TAGNMDATETIMEFORMATQUERY = $TAGNMHDR & ";ptr Format;struct;long SizeX;long SizeY;endstruct"
  86. Global Const $TAGNMDATETIMEKEYDOWN = $TAGNMHDR & ";int VirtKey;ptr Format;" & $TAGSYSTEMTIME
  87. Global Const $TAGNMDATETIMESTRING = $TAGNMHDR & ";ptr UserString;" & $TAGSYSTEMTIME & ";dword Flags"
  88. Global Const $TAGEVENTLOGRECORD = "dword Length;dword Reserved;dword RecordNumber;dword TimeGenerated;dword TimeWritten;dword EventID;" & "word EventType;word NumStrings;word EventCategory;word ReservedFlags;dword ClosingRecordNumber;dword StringOffset;" & "dword UserSidLength;dword UserSidOffset;dword DataLength;dword DataOffset"
  89. Global Const $TAGGDIPBITMAPDATA = "uint Width;uint Height;int Stride;int Format;ptr Scan0;uint_ptr Reserved"
  90. Global Const $TAGGDIPENCODERPARAM = "byte GUID[16];ulong Count;ulong Type;ptr Values"
  91. Global Const $TAGGDIPENCODERPARAMS = "uint Count;byte Params[1]"
  92. Global Const $TAGGDIPRECTF = "float X;float Y;float Width;float Height"
  93. Global Const $TAGGDIPSTARTUPINPUT = "uint Version;ptr Callback;bool NoThread;bool NoCodecs"
  94. Global Const $TAGGDIPSTARTUPOUTPUT = "ptr HookProc;ptr UnhookProc"
  95. Global Const $TAGGDIPIMAGECODECINFO = "byte CLSID[16];byte FormatID[16];ptr CodecName;ptr DllName;ptr FormatDesc;ptr FileExt;" & "ptr MimeType;dword Flags;dword Version;dword SigCount;dword SigSize;ptr SigPattern;ptr SigMask"
  96. Global Const $TAGGDIPPENCODERPARAMS = "uint Count;byte Params[1]"
  97. Global Const $TAGHDITEM = "uint Mask;int XY;ptr Text;handle hBMP;int TextMax;int Fmt;lparam Param;int Image;int Order;uint Type;ptr pFilter;uint State"
  98. Global Const $TAGNMHDDISPINFO = $TAGNMHDR & ";int Item;uint Mask;ptr Text;int TextMax;int Image;lparam lParam"
  99. Global Const $TAGNMHDFILTERBTNCLICK = $TAGNMHDR & ";int Item;" & $TAGRECT
  100. Global Const $TAGNMHEADER = $TAGNMHDR & ";int Item;int Button;ptr pItem"
  101. Global Const $TAGGETIPADDRESS = "byte Field4;byte Field3;byte Field2;byte Field1"
  102. Global Const $TAGNMIPADDRESS = $TAGNMHDR & ";int Field;int Value"
  103. Global Const $TAGLVFINDINFO = "struct;uint Flags;ptr Text;lparam Param;" & $TAGPOINT & ";uint Direction;endstruct"
  104. Global Const $TAGLVHITTESTINFO = $TAGPOINT & ";uint Flags;int Item;int SubItem;int iGroup"
  105. Global Const $TAGLVITEM = "struct;uint Mask;int Item;int SubItem;uint State;uint StateMask;ptr Text;int TextMax;int Image;lparam Param;" & "int Indent;int GroupID;uint Columns;ptr pColumns;ptr piColFmt;int iGroup;endstruct"
  106. Global Const $TAGNMLISTVIEW = $TAGNMHDR & ";int Item;int SubItem;uint NewState;uint OldState;uint Changed;" & "struct;long ActionX;long ActionY;endstruct;lparam Param"
  107. Global Const $TAGNMLVCUSTOMDRAW = "struct;" & $TAGNMHDR & ";dword dwDrawStage;handle hdc;" & $TAGRECT & ";dword_ptr dwItemSpec;uint uItemState;lparam lItemlParam;endstruct" & ";dword clrText;dword clrTextBk;int iSubItem;dword dwItemType;dword clrFace;int iIconEffect;" & "int iIconPhase;int iPartId;int iStateId;struct;long TextLeft;long TextTop;long TextRight;long TextBottom;endstruct;uint uAlign"
  108. Global Const $TAGNMLVDISPINFO = $TAGNMHDR & ";" & $TAGLVITEM
  109. Global Const $TAGNMLVFINDITEM = $TAGNMHDR & ";int Start;" & $TAGLVFINDINFO
  110. Global Const $TAGNMLVGETINFOTIP = $TAGNMHDR & ";dword Flags;ptr Text;int TextMax;int Item;int SubItem;lparam lParam"
  111. Global Const $TAGNMITEMACTIVATE = $TAGNMHDR & ";int Index;int SubItem;uint NewState;uint OldState;uint Changed;" & $TAGPOINT & ";lparam lParam;uint KeyFlags"
  112. Global Const $TAGNMLVKEYDOWN = "align 1;" & $TAGNMHDR & ";word VKey;uint Flags"
  113. Global Const $TAGNMLVSCROLL = $TAGNMHDR & ";int DX;int DY"
  114. Global Const $TAGMCHITTESTINFO = "uint Size;" & $TAGPOINT & ";uint Hit;" & $TAGSYSTEMTIME & ";" & $TAGRECT & ";int iOffset;int iRow;int iCol"
  115. Global Const $TAGMCMONTHRANGE = "word MinYear;word MinMonth;word MinDOW;word MinDay;word MinHour;word MinMinute;word MinSecond;" & "word MinMSeconds;word MaxYear;word MaxMonth;word MaxDOW;word MaxDay;word MaxHour;word MaxMinute;word MaxSecond;" & "word MaxMSeconds;short Span"
  116. Global Const $TAGMCRANGE = "word MinYear;word MinMonth;word MinDOW;word MinDay;word MinHour;word MinMinute;word MinSecond;" & "word MinMSeconds;word MaxYear;word MaxMonth;word MaxDOW;word MaxDay;word MaxHour;word MaxMinute;word MaxSecond;" & "word MaxMSeconds;short MinSet;short MaxSet"
  117. Global Const $TAGMCSELRANGE = "word MinYear;word MinMonth;word MinDOW;word MinDay;word MinHour;word MinMinute;word MinSecond;" & "word MinMSeconds;word MaxYear;word MaxMonth;word MaxDOW;word MaxDay;word MaxHour;word MaxMinute;word MaxSecond;" & "word MaxMSeconds"
  118. Global Const $TAGNMDAYSTATE = $TAGNMHDR & ";" & $TAGSYSTEMTIME & ";int DayState;ptr pDayState"
  119. Global Const $TAGNMSELCHANGE = $TAGNMHDR & ";struct;word BegYear;word BegMonth;word BegDOW;word BegDay;word BegHour;word BegMinute;word BegSecond;word BegMSeconds;endstruct;" & "struct;word EndYear;word EndMonth;word EndDOW;word EndDay;word EndHour;word EndMinute;word EndSecond;word EndMSeconds;endstruct"
  120. Global Const $TAGNMOBJECTNOTIFY = $TAGNMHDR & ";int Item;ptr piid;ptr pObject;long Result;dword dwFlags"
  121. Global Const $TAGNMTCKEYDOWN = "align 1;" & $TAGNMHDR & ";word VKey;uint Flags"
  122. Global Const $TAGTVITEM = "struct;uint Mask;handle hItem;uint State;uint StateMask;ptr Text;int TextMax;int Image;int SelectedImage;" & "int Children;lparam Param;endstruct"
  123. Global Const $TAGTVITEMEX = "struct;" & $TAGTVITEM & ";int Integral;uint uStateEx;hwnd hwnd;int iExpandedImage;int iReserved;endstruct"
  124. Global Const $TAGNMTREEVIEW = $TAGNMHDR & ";uint Action;" & "struct;uint OldMask;handle OldhItem;uint OldState;uint OldStateMask;" & "ptr OldText;int OldTextMax;int OldImage;int OldSelectedImage;int OldChildren;lparam OldParam;endstruct;" & "struct;uint NewMask;handle NewhItem;uint NewState;uint NewStateMask;" & "ptr NewText;int NewTextMax;int NewImage;int NewSelectedImage;int NewChildren;lparam NewParam;endstruct;" & "struct;long PointX;long PointY;endstruct"
  125. Global Const $TAGNMTVCUSTOMDRAW = "struct;" & $TAGNMHDR & ";dword DrawStage;handle HDC;" & $TAGRECT & ";dword_ptr ItemSpec;uint ItemState;lparam ItemParam;endstruct" & ";dword ClrText;dword ClrTextBk;int Level"
  126. Global Const $TAGNMTVDISPINFO = $TAGNMHDR & ";" & $TAGTVITEM
  127. Global Const $TAGNMTVGETINFOTIP = $TAGNMHDR & ";ptr Text;int TextMax;handle hItem;lparam lParam"
  128. Global Const $TAGTVHITTESTINFO = $TAGPOINT & ";uint Flags;handle Item"
  129. Global Const $TAGNMTVKEYDOWN = "align 1;" & $TAGNMHDR & ";word VKey;uint Flags"
  130. Global Const $TAGNMMOUSE = $TAGNMHDR & ";dword_ptr ItemSpec;dword_ptr ItemData;" & $TAGPOINT & ";lparam HitInfo"
  131. Global Const $TAGTOKEN_PRIVILEGES = "dword Count;align 4;int64 LUID;dword Attributes"
  132. Global Const $TAGIMAGEINFO = "handle hBitmap;handle hMask;int Unused1;int Unused2;" & $TAGRECT
  133. Global Const $TAGMENUINFO = "dword Size;INT Mask;dword Style;uint YMax;handle hBack;dword ContextHelpID;ulong_ptr MenuData"
  134. Global Const $TAGMENUITEMINFO = "uint Size;uint Mask;uint Type;uint State;uint ID;handle SubMenu;handle BmpChecked;handle BmpUnchecked;" & "ulong_ptr ItemData;ptr TypeData;uint CCH;handle BmpItem"
  135. Global Const $TAGREBARBANDINFO = "uint cbSize;uint fMask;uint fStyle;dword clrFore;dword clrBack;ptr lpText;uint cch;" & "int iImage;hwnd hwndChild;uint cxMinChild;uint cyMinChild;uint cx;handle hbmBack;uint wID;uint cyChild;uint cyMaxChild;" & "uint cyIntegral;uint cxIdeal;lparam lParam;uint cxHeader;" & $TAGRECT & ";uint uChevronState"
  136. Global Const $TAGNMREBARAUTOBREAK = $TAGNMHDR & ";uint uBand;uint wID;lparam lParam;uint uMsg;uint fStyleCurrent;bool fAutoBreak"
  137. Global Const $TAGNMRBAUTOSIZE = $TAGNMHDR & ";bool fChanged;" & "struct;long TargetLeft;long TargetTop;long TargetRight;long TargetBottom;endstruct;" & "struct;long ActualLeft;long ActualTop;long ActualRight;long ActualBottom;endstruct"
  138. Global Const $TAGNMREBAR = $TAGNMHDR & ";dword dwMask;uint uBand;uint fStyle;uint wID;lparam lParam"
  139. Global Const $TAGNMREBARCHEVRON = $TAGNMHDR & ";uint uBand;uint wID;lparam lParam;" & $TAGRECT & ";lparam lParamNM"
  140. Global Const $TAGNMREBARCHILDSIZE = $TAGNMHDR & ";uint uBand;uint wID;" & "struct;long CLeft;long CTop;long CRight;long CBottom;endstruct;" & "struct;long BLeft;long BTop;long BRight;long BBottom;endstruct"
  141. Global Const $TAGCOLORSCHEME = "dword Size;dword BtnHighlight;dword BtnShadow"
  142. Global Const $TAGNMTOOLBAR = $TAGNMHDR & ";int iItem;" & "struct;int iBitmap;int idCommand;byte fsState;byte fsStyle;dword_ptr dwData;int_ptr iString;endstruct" & ";int cchText;ptr pszText;" & $TAGRECT
  143. Global Const $TAGNMTBHOTITEM = $TAGNMHDR & ";int idOld;int idNew;dword dwFlags"
  144. Global Const $TAGTBBUTTON = "int Bitmap;int Command;byte State;byte Style;align;dword_ptr Param;int_ptr String"
  145. Global Const $TAGTBBUTTONINFO = "uint Size;dword Mask;int Command;int Image;byte State;byte Style;word CX;dword_ptr Param;ptr Text;int TextMax"
  146. Global Const $TAGNETRESOURCE = "dword Scope;dword Type;dword DisplayType;dword Usage;ptr LocalName;ptr RemoteName;ptr Comment;ptr Provider"
  147. Global Const $TAGOVERLAPPED = "ulong_ptr Internal;ulong_ptr InternalHigh;struct;dword Offset;dword OffsetHigh;endstruct;handle hEvent"
  148. Global Const $TAGOPENFILENAME = "dword StructSize;hwnd hwndOwner;handle hInstance;ptr lpstrFilter;ptr lpstrCustomFilter;" & "dword nMaxCustFilter;dword nFilterIndex;ptr lpstrFile;dword nMaxFile;ptr lpstrFileTitle;dword nMaxFileTitle;" & "ptr lpstrInitialDir;ptr lpstrTitle;dword Flags;word nFileOffset;word nFileExtension;ptr lpstrDefExt;lparam lCustData;" & "ptr lpfnHook;ptr lpTemplateName;ptr pvReserved;dword dwReserved;dword FlagsEx"
  149. Global Const $TAGBITMAPINFO = "struct;dword Size;long Width;long Height;word Planes;word BitCount;dword Compression;dword SizeImage;" & "long XPelsPerMeter;long YPelsPerMeter;dword ClrUsed;dword ClrImportant;endstruct;dword RGBQuad"
  150. Global Const $TAGBLENDFUNCTION = "byte Op;byte Flags;byte Alpha;byte Format"
  151. Global Const $TAGGUID = "ulong Data1;ushort Data2;ushort Data3;byte Data4[8]"
  152. Global Const $TAGWINDOWPLACEMENT = "uint length;uint flags;uint showCmd;long ptMinPosition[2];long ptMaxPosition[2];long rcNormalPosition[4]"
  153. Global Const $TAGWINDOWPOS = "hwnd hWnd;hwnd InsertAfter;int X;int Y;int CX;int CY;uint Flags"
  154. Global Const $TAGSCROLLINFO = "uint cbSize;uint fMask;int nMin;int nMax;uint nPage;int nPos;int nTrackPos"
  155. Global Const $TAGSCROLLBARINFO = "dword cbSize;" & $TAGRECT & ";int dxyLineButton;int xyThumbTop;" & "int xyThumbBottom;int reserved;dword rgstate[6]"
  156. Global Const $TAGLOGFONT = "long Height;long Width;long Escapement;long Orientation;long Weight;byte Italic;byte Underline;" & "byte Strikeout;byte CharSet;byte OutPrecision;byte ClipPrecision;byte Quality;byte PitchAndFamily;wchar FaceName[32]"
  157. Global Const $TAGKBDLLHOOKSTRUCT = "dword vkCode;dword scanCode;dword flags;dword time;ulong_ptr dwExtraInfo"
  158. Global Const $TAGPROCESS_INFORMATION = "handle hProcess;handle hThread;dword ProcessID;dword ThreadID"
  159. Global Const $TAGSTARTUPINFO = "dword Size;ptr Reserved1;ptr Desktop;ptr Title;dword X;dword Y;dword XSize;dword YSize;dword XCountChars;" & "dword YCountChars;dword FillAttribute;dword Flags;word ShowWindow;word Reserved2;ptr Reserved3;handle StdInput;" & "handle StdOutput;handle StdError"
  160. Global Const $TAGSECURITY_ATTRIBUTES = "dword Length;ptr Descriptor;bool InheritHandle"
  161. Global Const $TAGWIN32_FIND_DATA = "dword dwFileAttributes;dword ftCreationTime[2];dword ftLastAccessTime[2];dword ftLastWriteTime[2];dword nFileSizeHigh;dword nFileSizeLow;dword dwReserved0;dword dwReserved1;wchar cFileName[260];wchar cAlternateFileName[14]"
  162. Global Const $TAGTEXTMETRIC = "long tmHeight;long tmAscent;long tmDescent;long tmInternalLeading;long tmExternalLeading;" & "long tmAveCharWidth;long tmMaxCharWidth;long tmWeight;long tmOverhang;long tmDigitizedAspectX;long tmDigitizedAspectY;" & "wchar tmFirstChar;wchar tmLastChar;wchar tmDefaultChar;wchar tmBreakChar;byte tmItalic;byte tmUnderlined;byte tmStruckOut;" & "byte tmPitchAndFamily;byte tmCharSet"
  163. Func _WinAPI_GetLastError($CURERR = @error, $CUREXT = @extended)
  164.     Local $ARESULT = DllCall("kernel32.dll", "dword", "GetLastError")
  165.     Return SetError($CURERR, $CUREXT, $ARESULT[0])
  166. EndFunc
  167. Func _WinAPI_SetLastError($IERRCODE, $CURERR = @error, $CUREXT = @extended)
  168.     DllCall("kernel32.dll", "none", "SetLastError", "dword", $IERRCODE)
  169.     Return SetError($CURERR, $CUREXT)
  170. EndFunc
  171. Global Const $__MISCCONSTANT_CC_ANYCOLOR = 256
  172. Global Const $__MISCCONSTANT_CC_FULLOPEN = 2
  173. Global Const $__MISCCONSTANT_CC_RGBINIT = 1
  174. Global Const $TAGCHOOSECOLOR = "dword Size;hwnd hWndOwnder;handle hInstance;dword rgbResult;ptr CustColors;dword Flags;lparam lCustData;" & "ptr lpfnHook;ptr lpTemplateName"
  175. Global Const $TAGCHOOSEFONT = "dword Size;hwnd hWndOwner;handle hDC;ptr LogFont;int PointSize;dword Flags;dword rgbColors;lparam CustData;" & "ptr fnHook;ptr TemplateName;handle hInstance;ptr szStyle;word FontType;int SizeMin;int SizeMax"
  176. Func _ChooseColor($IRETURNTYPE = 0, $ICOLORREF = 0, $IREFTYPE = 0, $HWNDOWNDER = 0)
  177.     Local $CUSTCOLORS = "dword[16]"
  178.     Local $TCHOOSE = DllStructCreate($TAGCHOOSECOLOR)
  179.     Local $TCC = DllStructCreate($CUSTCOLORS)
  180.     If $IREFTYPE = 1 Then
  181.         $ICOLORREF = Int($ICOLORREF)
  182.     ElseIf $IREFTYPE = 2 Then
  183.         $ICOLORREF = Hex(String($ICOLORREF), 6)
  184.         $ICOLORREF = "0x" & StringMid($ICOLORREF, 5, 2) & StringMid($ICOLORREF, 3, 2) & StringMid($ICOLORREF, 1, 2)
  185.     EndIf
  186.     DllStructSetData($TCHOOSE, "Size", DllStructGetSize($TCHOOSE))
  187.     DllStructSetData($TCHOOSE, "hWndOwnder", $HWNDOWNDER)
  188.     DllStructSetData($TCHOOSE, "rgbResult", $ICOLORREF)
  189.     DllStructSetData($TCHOOSE, "CustColors", DllStructGetPtr($TCC))
  190.     DllStructSetData($TCHOOSE, "Flags", BitOR($__MISCCONSTANT_CC_ANYCOLOR, $__MISCCONSTANT_CC_FULLOPEN, $__MISCCONSTANT_CC_RGBINIT))
  191.     Local $ARESULT = DllCall("comdlg32.dll", "bool", "ChooseColor", "struct*", $TCHOOSE)
  192.     If @error Then Return SetError(@error, @extended, -1)
  193.     If $ARESULT[0] = 0 Then Return SetError(-3, -3, -1)
  194.     Local $COLOR_PICKED = DllStructGetData($TCHOOSE, "rgbResult")
  195.     If $IRETURNTYPE = 1 Then
  196.         Return "0x" & Hex(String($COLOR_PICKED), 6)
  197.     ElseIf $IRETURNTYPE = 2 Then
  198.         $COLOR_PICKED = Hex(String($COLOR_PICKED), 6)
  199.         Return "0x" & StringMid($COLOR_PICKED, 5, 2) & StringMid($COLOR_PICKED, 3, 2) & StringMid($COLOR_PICKED, 1, 2)
  200.     ElseIf $IRETURNTYPE = 0 Then
  201.         Return $COLOR_PICKED
  202.     Else
  203.         Return SetError(-4, -4, -1)
  204.     EndIf
  205. EndFunc
  206. Func _ChooseFont($SFONTNAME = "Courier New", $IPOINTSIZE = 10, $ICOLORREF = 0, $IFONTWEIGHT = 0, $IITALIC = False, $IUNDERLINE = False, $ISTRIKETHRU = False, $HWNDOWNER = 0)
  207.     Local $ITALIC = 0, $UNDERLINE = 0, $STRIKEOUT = 0
  208.     Local $LNGDC = __MISC_GETDC(0)
  209.     Local $LFHEIGHT = Round(($IPOINTSIZE * __MISC_GETDEVICECAPS($LNGDC, $LOGPIXELSX)) / 72, 0)
  210.     __MISC_RELEASEDC(0, $LNGDC)
  211.     Local $TCHOOSEFONT = DllStructCreate($TAGCHOOSEFONT)
  212.     Local $TLOGFONT = DllStructCreate($TAGLOGFONT)
  213.     DllStructSetData($TCHOOSEFONT, "Size", DllStructGetSize($TCHOOSEFONT))
  214.     DllStructSetData($TCHOOSEFONT, "hWndOwner", $HWNDOWNER)
  215.     DllStructSetData($TCHOOSEFONT, "LogFont", DllStructGetPtr($TLOGFONT))
  216.     DllStructSetData($TCHOOSEFONT, "PointSize", $IPOINTSIZE)
  217.     DllStructSetData($TCHOOSEFONT, "Flags", BitOR($CF_SCREENFONTS, $CF_PRINTERFONTS, $CF_EFFECTS, $CF_INITTOLOGFONTSTRUCT, $CF_NOSCRIPTSEL))
  218.     DllStructSetData($TCHOOSEFONT, "rgbColors", $ICOLORREF)
  219.     DllStructSetData($TCHOOSEFONT, "FontType", 0)
  220.     DllStructSetData($TLOGFONT, "Height", $LFHEIGHT)
  221.     DllStructSetData($TLOGFONT, "Weight", $IFONTWEIGHT)
  222.     DllStructSetData($TLOGFONT, "Italic", $IITALIC)
  223.     DllStructSetData($TLOGFONT, "Underline", $IUNDERLINE)
  224.     DllStructSetData($TLOGFONT, "Strikeout", $ISTRIKETHRU)
  225.     DllStructSetData($TLOGFONT, "FaceName", $SFONTNAME)
  226.     Local $ARESULT = DllCall("comdlg32.dll", "bool", "ChooseFontW", "struct*", $TCHOOSEFONT)
  227.     If @error Then Return SetError(@error, @extended, -1)
  228.     If $ARESULT[0] = 0 Then Return SetError(-3, -3, -1)
  229.     Local $FONTNAME = DllStructGetData($TLOGFONT, "FaceName")
  230.     If StringLen($FONTNAME) = 0 And StringLen($SFONTNAME) > 0 Then $FONTNAME = $SFONTNAME
  231.     If DllStructGetData($TLOGFONT, "Italic") Then $ITALIC = 2
  232.     If DllStructGetData($TLOGFONT, "Underline") Then $UNDERLINE = 4
  233.     If DllStructGetData($TLOGFONT, "Strikeout") Then $STRIKEOUT = 8
  234.     Local $ATTRIBUTES = BitOR($ITALIC, $UNDERLINE, $STRIKEOUT)
  235.     Local $SIZE = DllStructGetData($TCHOOSEFONT, "PointSize") / 10
  236.     Local $COLORREF = DllStructGetData($TCHOOSEFONT, "rgbColors")
  237.     Local $WEIGHT = DllStructGetData($TLOGFONT, "Weight")
  238.     Local $COLOR_PICKED = Hex(String($COLORREF), 6)
  239.     Return StringSplit($ATTRIBUTES & "," & $FONTNAME & "," & $SIZE & "," & $WEIGHT & "," & $COLORREF & "," & "0x" & $COLOR_PICKED & "," & "0x" & StringMid($COLOR_PICKED, 5, 2) & StringMid($COLOR_PICKED, 3, 2) & StringMid($COLOR_PICKED, 1, 2), ",")
  240. EndFunc
  241. Func _ClipPutFile($SFILE, $SSEPARATOR = "|")
  242.     Local Const $GMEM_MOVEABLE = 2, $CF_HDROP = 15
  243.     $SFILE &= $SSEPARATOR & $SSEPARATOR
  244.     Local $NGLOBMEMSIZE = 2 * (StringLen($SFILE) + 20)
  245.     Local $ARESULT = DllCall("user32.dll", "bool", "OpenClipboard", "hwnd", 0)
  246.     If @error Or $ARESULT[0] = 0 Then Return SetError(1, _WinAPI_GetLastError(), False)
  247.     Local $IERROR = 0, $ILASTERROR = 0
  248.     $ARESULT = DllCall("user32.dll", "bool", "EmptyClipboard")
  249.     If @error Or Not $ARESULT[0] Then
  250.         $IERROR = 2
  251.         $ILASTERROR = _WinAPI_GetLastError()
  252.     Else
  253.         $ARESULT = DllCall("kernel32.dll", "handle", "GlobalAlloc", "uint", $GMEM_MOVEABLE, "ulong_ptr", $NGLOBMEMSIZE)
  254.         If @error Or Not $ARESULT[0] Then
  255.             $IERROR = 3
  256.             $ILASTERROR = _WinAPI_GetLastError()
  257.         Else
  258.             Local $HGLOBAL = $ARESULT[0]
  259.             $ARESULT = DllCall("kernel32.dll", "ptr", "GlobalLock", "handle", $HGLOBAL)
  260.             If @error Or Not $ARESULT[0] Then
  261.                 $IERROR = 4
  262.                 $ILASTERROR = _WinAPI_GetLastError()
  263.             Else
  264.                 Local $HLOCK = $ARESULT[0]
  265.                 Local $DROPFILES = DllStructCreate("dword pFiles;" & $TAGPOINT & ";bool fNC;bool fWide;wchar[" & StringLen($SFILE) + 1 & "]", $HLOCK)
  266.                 If @error Then Return SetError(5, 6, False)
  267.                 Local $TEMPSTRUCT = DllStructCreate("dword;long;long;bool;bool")
  268.                 DllStructSetData($DROPFILES, "pFiles", DllStructGetSize($TEMPSTRUCT))
  269.                 DllStructSetData($DROPFILES, "X", 0)
  270.                 DllStructSetData($DROPFILES, "Y", 0)
  271.                 DllStructSetData($DROPFILES, "fNC", 0)
  272.                 DllStructSetData($DROPFILES, "fWide", 1)
  273.                 DllStructSetData($DROPFILES, 6, $SFILE)
  274.                 For $I = 1 To StringLen($SFILE)
  275.                     If DllStructGetData($DROPFILES, 6, $I) = $SSEPARATOR Then DllStructSetData($DROPFILES, 6, Chr(0), $I)
  276.                 Next
  277.                 $ARESULT = DllCall("user32.dll", "handle", "SetClipboardData", "uint", $CF_HDROP, "handle", $HGLOBAL)
  278.                 If @error Or Not $ARESULT[0] Then
  279.                     $IERROR = 6
  280.                     $ILASTERROR = _WinAPI_GetLastError()
  281.                 EndIf
  282.                 $ARESULT = DllCall("kernel32.dll", "bool", "GlobalUnlock", "handle", $HGLOBAL)
  283.                 If (@error Or Not $ARESULT[0]) And Not $IERROR And _WinAPI_GetLastError() Then
  284.                     $IERROR = 8
  285.                     $ILASTERROR = _WinAPI_GetLastError()
  286.                 EndIf
  287.             EndIf
  288.             $ARESULT = DllCall("kernel32.dll", "ptr", "GlobalFree", "handle", $HGLOBAL)
  289.             If (@error Or $ARESULT[0]) And Not $IERROR Then
  290.                 $IERROR = 9
  291.                 $ILASTERROR = _WinAPI_GetLastError()
  292.             EndIf
  293.         EndIf
  294.     EndIf
  295.     $ARESULT = DllCall("user32.dll", "bool", "CloseClipboard")
  296.     If (@error Or Not $ARESULT[0]) And Not $IERROR Then Return SetError(7, _WinAPI_GetLastError(), False)
  297.     If $IERROR Then Return SetError($IERROR, $ILASTERROR, False)
  298.     Return True
  299. EndFunc
  300. Func _Iif($FTEST, $VTRUEVAL, $VFALSEVAL)
  301.     If $FTEST Then
  302.         Return $VTRUEVAL
  303.     Else
  304.         Return $VFALSEVAL
  305.     EndIf
  306. EndFunc
  307. Func _MouseTrap($ILEFT = 0, $ITOP = 0, $IRIGHT = 0, $IBOTTOM = 0)
  308.     Local $ARESULT
  309.     If @NumParams == 0 Then
  310.         $ARESULT = DllCall("user32.dll", "bool", "ClipCursor", "ptr", 0)
  311.         If @error Or Not $ARESULT[0] Then Return SetError(1, _WinAPI_GetLastError(), False)
  312.     Else
  313.         If @NumParams == 2 Then
  314.             $IRIGHT = $ILEFT + 1
  315.             $IBOTTOM = $ITOP + 1
  316.         EndIf
  317.         Local $TRECT = DllStructCreate($TAGRECT)
  318.         DllStructSetData($TRECT, "Left", $ILEFT)
  319.         DllStructSetData($TRECT, "Top", $ITOP)
  320.         DllStructSetData($TRECT, "Right", $IRIGHT)
  321.         DllStructSetData($TRECT, "Bottom", $IBOTTOM)
  322.         $ARESULT = DllCall("user32.dll", "bool", "ClipCursor", "struct*", $TRECT)
  323.         If @error Or Not $ARESULT[0] Then Return SetError(2, _WinAPI_GetLastError(), False)
  324.     EndIf
  325.     Return True
  326. EndFunc
  327. Func _Singleton($SOCCURENCENAME, $IFLAG = 0)
  328.     Local Const $ERROR_ALREADY_EXISTS = 183
  329.     Local Const $SECURITY_DESCRIPTOR_REVISION = 1
  330.     Local $TSECURITYATTRIBUTES = 0
  331.     If BitAND($IFLAG, 2) Then
  332.         Local $TSECURITYDESCRIPTOR = DllStructCreate("byte;byte;word;ptr[4]")
  333.         Local $ARET = DllCall("advapi32.dll", "bool", "InitializeSecurityDescriptor", "struct*", $TSECURITYDESCRIPTOR, "dword", $SECURITY_DESCRIPTOR_REVISION)
  334.         If @error Then Return SetError(@error, @extended, 0)
  335.         If $ARET[0] Then
  336.             $ARET = DllCall("advapi32.dll", "bool", "SetSecurityDescriptorDacl", "struct*", $TSECURITYDESCRIPTOR, "bool", 1, "ptr", 0, "bool", 0)
  337.             If @error Then Return SetError(@error, @extended, 0)
  338.             If $ARET[0] Then
  339.                 $TSECURITYATTRIBUTES = DllStructCreate($TAGSECURITY_ATTRIBUTES)
  340.                 DllStructSetData($TSECURITYATTRIBUTES, 1, DllStructGetSize($TSECURITYATTRIBUTES))
  341.                 DllStructSetData($TSECURITYATTRIBUTES, 2, DllStructGetPtr($TSECURITYDESCRIPTOR))
  342.                 DllStructSetData($TSECURITYATTRIBUTES, 3, 0)
  343.             EndIf
  344.         EndIf
  345.     EndIf
  346.     Local $HANDLE = DllCall("kernel32.dll", "handle", "CreateMutexW", "struct*", $TSECURITYATTRIBUTES, "bool", 1, "wstr", $SOCCURENCENAME)
  347.     If @error Then Return SetError(@error, @extended, 0)
  348.     Local $LASTERROR = DllCall("kernel32.dll", "dword", "GetLastError")
  349.     If @error Then Return SetError(@error, @extended, 0)
  350.     If $LASTERROR[0] = $ERROR_ALREADY_EXISTS Then
  351.         If BitAND($IFLAG, 1) Then
  352.             Return SetError($LASTERROR[0], $LASTERROR[0], 0)
  353.         Else
  354.             Exit -1
  355.         EndIf
  356.     EndIf
  357.     Return $HANDLE[0]
  358. EndFunc
  359. Func _IsPressed($SHEXKEY, $VDLL = "user32.dll")
  360.     Local $A_R = DllCall($VDLL, "short", "GetAsyncKeyState", "int", "0x" & $SHEXKEY)
  361.     If @error Then Return SetError(@error, @extended, False)
  362.     Return BitAND($A_R[0], 32768) <> 0
  363. EndFunc
  364. Func _VersionCompare($SVERSION1, $SVERSION2)
  365.     If $SVERSION1 = $SVERSION2 Then Return 0
  366.     Local $SEP = "."
  367.     If StringInStr($SVERSION1, $SEP) = 0 Then $SEP = ","
  368.     Local $AVERSION1 = StringSplit($SVERSION1, $SEP)
  369.     Local $AVERSION2 = StringSplit($SVERSION2, $SEP)
  370.     If UBound($AVERSION1) <> UBound($AVERSION2) Or UBound($AVERSION1) = 0 Then
  371.         SetExtended(1)
  372.         If $SVERSION1 > $SVERSION2 Then
  373.             Return 1
  374.         ElseIf $SVERSION1 < $SVERSION2 Then
  375.             Return -1
  376.         EndIf
  377.     Else
  378.         For $I = 1 To UBound($AVERSION1) - 1
  379.             If StringIsDigit($AVERSION1[$I]) And StringIsDigit($AVERSION2[$I]) Then
  380.                 If Number($AVERSION1[$I]) > Number($AVERSION2[$I]) Then
  381.                     Return 1
  382.                 ElseIf Number($AVERSION1[$I]) < Number($AVERSION2[$I]) Then
  383.                     Return -1
  384.                 EndIf
  385.             Else
  386.                 SetExtended(1)
  387.                 If $AVERSION1[$I] > $AVERSION2[$I] Then
  388.                     Return 1
  389.                 ElseIf $AVERSION1[$I] < $AVERSION2[$I] Then
  390.                     Return -1
  391.                 EndIf
  392.             EndIf
  393.         Next
  394.     EndIf
  395.     Return SetError(2, 0, 0)
  396. EndFunc
  397. Func __MISC_GETDC($HWND)
  398.     Local $ARESULT = DllCall("User32.dll", "handle", "GetDC", "hwnd", $HWND)
  399.     If @error Or Not $ARESULT[0] Then Return SetError(1, _WinAPI_GetLastError(), 0)
  400.     Return $ARESULT[0]
  401. EndFunc
  402. Func __MISC_GETDEVICECAPS($HDC, $IINDEX)
  403.     Local $ARESULT = DllCall("GDI32.dll", "int", "GetDeviceCaps", "handle", $HDC, "int", $IINDEX)
  404.     If @error Then Return SetError(@error, @extended, 0)
  405.     Return $ARESULT[0]
  406. EndFunc
  407. Func __MISC_RELEASEDC($HWND, $HDC)
  408.     Local $ARESULT = DllCall("User32.dll", "int", "ReleaseDC", "hwnd", $HWND, "handle", $HDC)
  409.     If @error Then Return SetError(@error, @extended, False)
  410.     Return $ARESULT[0] <> 0
  411. EndFunc
  412. #region includes
  413.     Global $SHISON = 0
  414.     Global Const $BS_GROUPBOX = 7
  415.     Global Const $BS_BOTTOM = 2048
  416.     Global Const $BS_CENTER = 768
  417.     Global Const $BS_DEFPUSHBUTTON = 1
  418.     Global Const $BS_LEFT = 256
  419.     Global Const $BS_MULTILINE = 8192
  420.     Global Const $BS_PUSHBOX = 10
  421.     Global Const $BS_PUSHLIKE = 4096
  422.     Global Const $BS_RIGHT = 512
  423.     Global Const $BS_RIGHTBUTTON = 32
  424.     Global Const $BS_TOP = 1024
  425.     Global Const $BS_VCENTER = 3072
  426.     Global Const $BS_FLAT = 32768
  427.     Global Const $BS_ICON = 64
  428.     Global Const $BS_BITMAP = 128
  429.     Global Const $BS_NOTIFY = 16384
  430.     Global Const $BS_SPLITBUTTON = 12
  431.     Global Const $BS_DEFSPLITBUTTON = 13
  432.     Global Const $BS_COMMANDLINK = 14
  433.     Global Const $BS_DEFCOMMANDLINK = 15
  434.     Global Const $BCSIF_GLYPH = 1
  435.     Global Const $BCSIF_IMAGE = 2
  436.     Global Const $BCSIF_STYLE = 4
  437.     Global Const $BCSIF_SIZE = 8
  438.     Global Const $BCSS_NOSPLIT = 1
  439.     Global Const $BCSS_STRETCH = 2
  440.     Global Const $BCSS_ALIGNLEFT = 4
  441.     Global Const $BCSS_IMAGE = 8
  442.     Global Const $BUTTON_IMAGELIST_ALIGN_LEFT = 0
  443.     Global Const $BUTTON_IMAGELIST_ALIGN_RIGHT = 1
  444.     Global Const $BUTTON_IMAGELIST_ALIGN_TOP = 2
  445.     Global Const $BUTTON_IMAGELIST_ALIGN_BOTTOM = 3
  446.     Global Const $BUTTON_IMAGELIST_ALIGN_CENTER = 4
  447.     Global Const $BS_3STATE = 5
  448.     Global Const $BS_AUTO3STATE = 6
  449.     Global Const $BS_AUTOCHECKBOX = 3
  450.     Global Const $BS_CHECKBOX = 2
  451.     Global Const $BS_RADIOBUTTON = 4
  452.     Global Const $BS_AUTORADIOBUTTON = 9
  453.     Global Const $BS_OWNERDRAW = 11
  454.     Global Const $GUI_SS_DEFAULT_BUTTON = 0
  455.     Global Const $GUI_SS_DEFAULT_CHECKBOX = 0
  456.     Global Const $GUI_SS_DEFAULT_GROUP = 0
  457.     Global Const $GUI_SS_DEFAULT_RADIO = 0
  458.     Global Const $BCM_FIRST = 5632
  459.     Global Const $BCM_GETIDEALSIZE = ($BCM_FIRST + 1)
  460.     Global Const $BCM_GETIMAGELIST = ($BCM_FIRST + 3)
  461.     Global Const $BCM_GETNOTE = ($BCM_FIRST + 10)
  462.     Global Const $BCM_GETNOTELENGTH = ($BCM_FIRST + 11)
  463.     Global Const $BCM_GETSPLITINFO = ($BCM_FIRST + 8)
  464.     Global Const $BCM_GETTEXTMARGIN = ($BCM_FIRST + 5)
  465.     Global Const $BCM_SETDROPDOWNSTATE = ($BCM_FIRST + 6)
  466.     Global Const $BCM_SETIMAGELIST = ($BCM_FIRST + 2)
  467.     Global Const $BCM_SETNOTE = ($BCM_FIRST + 9)
  468.     Global Const $BCM_SETSHIELD = ($BCM_FIRST + 12)
  469.     Global Const $BCM_SETSPLITINFO = ($BCM_FIRST + 7)
  470.     Global Const $BCM_SETTEXTMARGIN = ($BCM_FIRST + 4)
  471.     Global Const $BM_CLICK = 245
  472.     Global Const $BM_GETCHECK = 240
  473.     Global Const $BM_GETIMAGE = 246
  474.     Global Const $BM_GETSTATE = 242
  475.     Global Const $BM_SETCHECK = 241
  476.     Global Const $BM_SETDONTCLICK = 248
  477.     Global Const $BM_SETIMAGE = 247
  478.     Global Const $BM_SETSTATE = 243
  479.     Global Const $BM_SETSTYLE = 244
  480.     Global Const $BCN_FIRST = -1250
  481.     Global Const $BCN_DROPDOWN = ($BCN_FIRST + 2)
  482.     Global Const $BCN_HOTITEMCHANGE = ($BCN_FIRST + 1)
  483.     Global Const $BN_CLICKED = 0
  484.     Global Const $BN_PAINT = 1
  485.     Global Const $BN_HILITE = 2
  486.     Global Const $BN_UNHILITE = 3
  487.     Global Const $BN_DISABLE = 4
  488.     Global Const $BN_DOUBLECLICKED = 5
  489.     Global Const $BN_SETFOCUS = 6
  490.     Global Const $BN_KILLFOCUS = 7
  491.     Global Const $BN_PUSHED = $BN_HILITE
  492.     Global Const $BN_UNPUSHED = $BN_UNHILITE
  493.     Global Const $BN_DBLCLK = $BN_DOUBLECLICKED
  494.     Global Const $BST_CHECKED = 1
  495.     Global Const $BST_INDETERMINATE = 2
  496.     Global Const $BST_UNCHECKED = 0
  497.     Global Const $BST_FOCUS = 8
  498.     Global Const $BST_PUSHED = 4
  499.     Global Const $BST_DONTCLICK = 128
  500.     Global Const $ES_LEFT = 0
  501.     Global Const $ES_CENTER = 1
  502.     Global Const $ES_RIGHT = 2
  503.     Global Const $ES_MULTILINE = 4
  504.     Global Const $ES_UPPERCASE = 8
  505.     Global Const $ES_LOWERCASE = 16
  506.     Global Const $ES_PASSWORD = 32
  507.     Global Const $ES_AUTOVSCROLL = 64
  508.     Global Const $ES_AUTOHSCROLL = 128
  509.     Global Const $ES_NOHIDESEL = 256
  510.     Global Const $ES_OEMCONVERT = 1024
  511.     Global Const $ES_READONLY = 2048
  512.     Global Const $ES_WANTRETURN = 4096
  513.     Global Const $ES_NUMBER = 8192
  514.     Global Const $EC_ERR = -1
  515.     Global Const $ECM_FIRST = 5376
  516.     Global Const $EM_CANUNDO = 198
  517.     Global Const $EM_CHARFROMPOS = 215
  518.     Global Const $EM_EMPTYUNDOBUFFER = 205
  519.     Global Const $EM_FMTLINES = 200
  520.     Global Const $EM_GETCUEBANNER = ($ECM_FIRST + 2)
  521.     Global Const $EM_GETFIRSTVISIBLELINE = 206
  522.     Global Const $EM_GETHANDLE = 189
  523.     Global Const $EM_GETIMESTATUS = 217
  524.     Global Const $EM_GETLIMITTEXT = 213
  525.     Global Const $EM_GETLINE = 196
  526.     Global Const $EM_GETLINECOUNT = 186
  527.     Global Const $EM_GETMARGINS = 212
  528.     Global Const $EM_GETMODIFY = 184
  529.     Global Const $EM_GETPASSWORDCHAR = 210
  530.     Global Const $EM_GETRECT = 178
  531.     Global Const $EM_GETSEL = 176
  532.     Global Const $EM_GETTHUMB = 190
  533.     Global Const $EM_GETWORDBREAKPROC = 209
  534.     Global Const $EM_HIDEBALLOONTIP = ($ECM_FIRST + 4)
  535.     Global Const $EM_LIMITTEXT = 197
  536.     Global Const $EM_LINEFROMCHAR = 201
  537.     Global Const $EM_LINEINDEX = 187
  538.     Global Const $EM_LINELENGTH = 193
  539.     Global Const $EM_LINESCROLL = 182
  540.     Global Const $EM_POSFROMCHAR = 214
  541.     Global Const $EM_REPLACESEL = 194
  542.     Global Const $EM_SCROLL = 181
  543.     Global Const $EM_SCROLLCARET = 183
  544.     Global Const $EM_SETCUEBANNER = ($ECM_FIRST + 1)
  545.     Global Const $EM_SETHANDLE = 188
  546.     Global Const $EM_SETIMESTATUS = 216
  547.     Global Const $EM_SETLIMITTEXT = $EM_LIMITTEXT
  548.     Global Const $EM_SETMARGINS = 211
  549.     Global Const $EM_SETMODIFY = 185
  550.     Global Const $EM_SETPASSWORDCHAR = 204
  551.     Global Const $EM_SETREADONLY = 207
  552.     Global Const $EM_SETRECT = 179
  553.     Global Const $EM_SETRECTNP = 180
  554.     Global Const $EM_SETSEL = 177
  555.     Global Const $EM_SETTABSTOPS = 203
  556.     Global Const $EM_SETWORDBREAKPROC = 208
  557.     Global Const $EM_SHOWBALLOONTIP = ($ECM_FIRST + 3)
  558.     Global Const $EM_UNDO = 199
  559.     Global Const $EC_LEFTMARGIN = 1
  560.     Global Const $EC_RIGHTMARGIN = 2
  561.     Global Const $EC_USEFONTINFO = 65535
  562.     Global Const $EMSIS_COMPOSITIONSTRING = 1
  563.     Global Const $EIMES_GETCOMPSTRATONCE = 1
  564.     Global Const $EIMES_CANCELCOMPSTRINFOCUS = 2
  565.     Global Const $EIMES_COMPLETECOMPSTRKILLFOCUS = 4
  566.     Global Const $EN_ALIGN_LTR_EC = 1792
  567.     Global Const $EN_ALIGN_RTL_EC = 1793
  568.     Global Const $EN_CHANGE = 768
  569.     Global Const $EN_ERRSPACE = 1280
  570.     Global Const $EN_HSCROLL = 1537
  571.     Global Const $EN_KILLFOCUS = 512
  572.     Global Const $EN_MAXTEXT = 1281
  573.     Global Const $EN_SETFOCUS = 256
  574.     Global Const $EN_UPDATE = 1024
  575.     Global Const $EN_VSCROLL = 1538
  576.     Global Const $TTI_NONE = 0
  577.     Global Const $TTI_INFO = 1
  578.     Global Const $TTI_WARNING = 2
  579.     Global Const $TTI_ERROR = 3
  580.     Global Const $TTI_INFO_LARGE = 4
  581.     Global Const $TTI_WARNING_LARGE = 5
  582.     Global Const $TTI_ERROR_LARGE = 6
  583.     Global Const $__EDITCONSTANT_WS_VSCROLL = 2097152
  584.     Global Const $__EDITCONSTANT_WS_HSCROLL = 1048576
  585.     Global Const $GUI_SS_DEFAULT_EDIT = BitOR($ES_WANTRETURN, $__EDITCONSTANT_WS_VSCROLL, $__EDITCONSTANT_WS_HSCROLL, $ES_AUTOVSCROLL, $ES_AUTOHSCROLL)
  586.     Global Const $GUI_SS_DEFAULT_INPUT = BitOR($ES_LEFT, $ES_AUTOHSCROLL)
  587.     Global Const $GUI_EVENT_CLOSE = -3
  588.     Global Const $GUI_EVENT_MINIMIZE = -4
  589.     Global Const $GUI_EVENT_RESTORE = -5
  590.     Global Const $GUI_EVENT_MAXIMIZE = -6
  591.     Global Const $GUI_EVENT_PRIMARYDOWN = -7
  592.     Global Const $GUI_EVENT_PRIMARYUP = -8
  593.     Global Const $GUI_EVENT_SECONDARYDOWN = -9
  594.     Global Const $GUI_EVENT_SECONDARYUP = -10
  595.     Global Const $GUI_EVENT_MOUSEMOVE = -11
  596.     Global Const $GUI_EVENT_RESIZED = -12
  597.     Global Const $GUI_EVENT_DROPPED = -13
  598.     Global Const $GUI_RUNDEFMSG = "GUI_RUNDEFMSG"
  599.     Global Const $GUI_AVISTOP = 0
  600.     Global Const $GUI_AVISTART = 1
  601.     Global Const $GUI_AVICLOSE = 2
  602.     Global Const $GUI_CHECKED = 1
  603.     Global Const $GUI_INDETERMINATE = 2
  604.     Global Const $GUI_UNCHECKED = 4
  605.     Global Const $GUI_DROPACCEPTED = 8
  606.     Global Const $GUI_NODROPACCEPTED = 4096
  607.     Global Const $GUI_ACCEPTFILES = $GUI_DROPACCEPTED
  608.     Global Const $GUI_SHOW = 16
  609.     Global Const $GUI_HIDE = 32
  610.     Global Const $GUI_ENABLE = 64
  611.     Global Const $GUI_DISABLE = 128
  612.     Global Const $GUI_FOCUS = 256
  613.     Global Const $GUI_NOFOCUS = 8192
  614.     Global Const $GUI_DEFBUTTON = 512
  615.     Global Const $GUI_EXPAND = 1024
  616.     Global Const $GUI_ONTOP = 2048
  617.     Global Const $GUI_FONTITALIC = 2
  618.     Global Const $GUI_FONTUNDER = 4
  619.     Global Const $GUI_FONTSTRIKE = 8
  620.     Global Const $GUI_DOCKAUTO = 1
  621.     Global Const $GUI_DOCKLEFT = 2
  622.     Global Const $GUI_DOCKRIGHT = 4
  623.     Global Const $GUI_DOCKHCENTER = 8
  624.     Global Const $GUI_DOCKTOP = 32
  625.     Global Const $GUI_DOCKBOTTOM = 64
  626.     Global Const $GUI_DOCKVCENTER = 128
  627.     Global Const $GUI_DOCKWIDTH = 256
  628.     Global Const $GUI_DOCKHEIGHT = 512
  629.     Global Const $GUI_DOCKSIZE = 768
  630.     Global Const $GUI_DOCKMENUBAR = 544
  631.     Global Const $GUI_DOCKSTATEBAR = 576
  632.     Global Const $GUI_DOCKALL = 802
  633.     Global Const $GUI_DOCKBORDERS = 102
  634.     Global Const $GUI_GR_CLOSE = 1
  635.     Global Const $GUI_GR_LINE = 2
  636.     Global Const $GUI_GR_BEZIER = 4
  637.     Global Const $GUI_GR_MOVE = 6
  638.     Global Const $GUI_GR_COLOR = 8
  639.     Global Const $GUI_GR_RECT = 10
  640.     Global Const $GUI_GR_ELLIPSE = 12
  641.     Global Const $GUI_GR_PIE = 14
  642.     Global Const $GUI_GR_DOT = 16
  643.     Global Const $GUI_GR_PIXEL = 18
  644.     Global Const $GUI_GR_HINT = 20
  645.     Global Const $GUI_GR_REFRESH = 22
  646.     Global Const $GUI_GR_PENSIZE = 24
  647.     Global Const $GUI_GR_NOBKCOLOR = -2
  648.     Global Const $GUI_BKCOLOR_DEFAULT = -1
  649.     Global Const $GUI_BKCOLOR_TRANSPARENT = -2
  650.     Global Const $GUI_BKCOLOR_LV_ALTERNATE = -33554432
  651.     Global Const $GUI_WS_EX_PARENTDRAG = 1048576
  652.     Global Const $SS_LEFT = 0
  653.     Global Const $SS_CENTER = 1
  654.     Global Const $SS_RIGHT = 2
  655.     Global Const $SS_ICON = 3
  656.     Global Const $SS_BLACKRECT = 4
  657.     Global Const $SS_GRAYRECT = 5
  658.     Global Const $SS_WHITERECT = 6
  659.     Global Const $SS_BLACKFRAME = 7
  660.     Global Const $SS_GRAYFRAME = 8
  661.     Global Const $SS_WHITEFRAME = 9
  662.     Global Const $SS_SIMPLE = 11
  663.     Global Const $SS_LEFTNOWORDWRAP = 12
  664.     Global Const $SS_BITMAP = 14
  665.     Global Const $SS_ETCHEDHORZ = 16
  666.     Global Const $SS_ETCHEDVERT = 17
  667.     Global Const $SS_ETCHEDFRAME = 18
  668.     Global Const $SS_NOPREFIX = 128
  669.     Global Const $SS_NOTIFY = 256
  670.     Global Const $SS_CENTERIMAGE = 512
  671.     Global Const $SS_RIGHTJUST = 1024
  672.     Global Const $SS_SUNKEN = 4096
  673.     Global Const $GUI_SS_DEFAULT_LABEL = 0
  674.     Global Const $GUI_SS_DEFAULT_GRAPHIC = 0
  675.     Global Const $GUI_SS_DEFAULT_ICON = $SS_NOTIFY
  676.     Global Const $GUI_SS_DEFAULT_PIC = $SS_NOTIFY
  677.     Global Const $WS_TILED = 0
  678.     Global Const $WS_OVERLAPPED = 0
  679.     Global Const $WS_MAXIMIZEBOX = 65536
  680.     Global Const $WS_MINIMIZEBOX = 131072
  681.     Global Const $WS_TABSTOP = 65536
  682.     Global Const $WS_GROUP = 131072
  683.     Global Const $WS_SIZEBOX = 262144
  684.     Global Const $WS_THICKFRAME = 262144
  685.     Global Const $WS_SYSMENU = 524288
  686.     Global Const $WS_HSCROLL = 1048576
  687.     Global Const $WS_VSCROLL = 2097152
  688.     Global Const $WS_DLGFRAME = 4194304
  689.     Global Const $WS_BORDER = 8388608
  690.     Global Const $WS_CAPTION = 12582912
  691.     Global Const $WS_OVERLAPPEDWINDOW = 13565952
  692.     Global Const $WS_TILEDWINDOW = 13565952
  693.     Global Const $WS_MAXIMIZE = 16777216
  694.     Global Const $WS_CLIPCHILDREN = 33554432
  695.     Global Const $WS_CLIPSIBLINGS = 67108864
  696.     Global Const $WS_DISABLED = 134217728
  697.     Global Const $WS_VISIBLE = 268435456
  698.     Global Const $WS_MINIMIZE = 536870912
  699.     Global Const $WS_CHILD = 1073741824
  700.     Global Const $WS_POPUP = -2147483648
  701.     Global Const $WS_POPUPWINDOW = -2138570752
  702.     Global Const $DS_MODALFRAME = 128
  703.     Global Const $DS_SETFOREGROUND = 512
  704.     Global Const $DS_CONTEXTHELP = 8192
  705.     Global Const $WS_EX_ACCEPTFILES = 16
  706.     Global Const $WS_EX_MDICHILD = 64
  707.     Global Const $WS_EX_APPWINDOW = 262144
  708.     Global Const $WS_EX_COMPOSITED = 33554432
  709.     Global Const $WS_EX_CLIENTEDGE = 512
  710.     Global Const $WS_EX_CONTEXTHELP = 1024
  711.     Global Const $WS_EX_DLGMODALFRAME = 1
  712.     Global Const $WS_EX_LEFTSCROLLBAR = 16384
  713.     Global Const $WS_EX_OVERLAPPEDWINDOW = 768
  714.     Global Const $WS_EX_RIGHT = 4096
  715.     Global Const $WS_EX_STATICEDGE = 131072
  716.     Global Const $WS_EX_TOOLWINDOW = 128
  717.     Global Const $WS_EX_TOPMOST = 8
  718.     Global Const $WS_EX_TRANSPARENT = 32
  719.     Global Const $WS_EX_WINDOWEDGE = 256
  720.     Global Const $WS_EX_LAYERED = 524288
  721.     Global Const $WS_EX_CONTROLPARENT = 65536
  722.     Global Const $WS_EX_LAYOUTRTL = 4194304
  723.     Global Const $WS_EX_RTLREADING = 8192
  724.     Global Const $WM_GETTEXTLENGTH = 14
  725.     Global Const $WM_GETTEXT = 13
  726.     Global Const $WM_SIZE = 5
  727.     Global Const $WM_SIZING = 532
  728.     Global Const $WM_USER = 1024
  729.     Global Const $WM_CREATE = 1
  730.     Global Const $WM_DESTROY = 2
  731.     Global Const $WM_MOVE = 3
  732.     Global Const $WM_ACTIVATE = 6
  733.     Global Const $WM_SETFOCUS = 7
  734.     Global Const $WM_KILLFOCUS = 8
  735.     Global Const $WM_ENABLE = 10
  736.     Global Const $WM_SETREDRAW = 11
  737.     Global Const $WM_SETTEXT = 12
  738.     Global Const $WM_PAINT = 15
  739.     Global Const $WM_CLOSE = 16
  740.     Global Const $WM_QUERYENDSESSION = 17
  741.     Global Const $WM_QUIT = 18
  742.     Global Const $WM_ERASEBKGND = 20
  743.     Global Const $WM_QUERYOPEN = 19
  744.     Global Const $WM_SYSCOLORCHANGE = 21
  745.     Global Const $WM_ENDSESSION = 22
  746.     Global Const $WM_SHOWWINDOW = 24
  747.     Global Const $WM_SETTINGCHANGE = 26
  748.     Global Const $WM_WININICHANGE = 26
  749.     Global Const $WM_DEVMODECHANGE = 27
  750.     Global Const $WM_ACTIVATEAPP = 28
  751.     Global Const $WM_FONTCHANGE = 29
  752.     Global Const $WM_TIMECHANGE = 30
  753.     Global Const $WM_CANCELMODE = 31
  754.     Global Const $WM_IME_STARTCOMPOSITION = 269
  755.     Global Const $WM_IME_ENDCOMPOSITION = 270
  756.     Global Const $WM_IME_COMPOSITION = 271
  757.     Global Const $WM_IME_KEYLAST = 271
  758.     Global Const $WM_SETCURSOR = 32
  759.     Global Const $WM_MOUSEACTIVATE = 33
  760.     Global Const $WM_CHILDACTIVATE = 34
  761.     Global Const $WM_QUEUESYNC = 35
  762.     Global Const $WM_GETMINMAXINFO = 36
  763.     Global Const $WM_PAINTICON = 38
  764.     Global Const $WM_ICONERASEBKGND = 39
  765.     Global Const $WM_NEXTDLGCTL = 40
  766.     Global Const $WM_SPOOLERSTATUS = 42
  767.     Global Const $WM_DRAWITEM = 43
  768.     Global Const $WM_MEASUREITEM = 44
  769.     Global Const $WM_DELETEITEM = 45
  770.     Global Const $WM_VKEYTOITEM = 46
  771.     Global Const $WM_CHARTOITEM = 47
  772.     Global Const $WM_SETFONT = 48
  773.     Global Const $WM_GETFONT = 49
  774.     Global Const $WM_SETHOTKEY = 50
  775.     Global Const $WM_GETHOTKEY = 51
  776.     Global Const $WM_QUERYDRAGICON = 55
  777.     Global Const $WM_COMPAREITEM = 57
  778.     Global Const $WM_GETOBJECT = 61
  779.     Global Const $WM_COMPACTING = 65
  780.     Global Const $WM_COMMNOTIFY = 68
  781.     Global Const $WM_WINDOWPOSCHANGING = 70
  782.     Global Const $WM_WINDOWPOSCHANGED = 71
  783.     Global Const $WM_POWER = 72
  784.     Global Const $WM_NOTIFY = 78
  785.     Global Const $WM_COPYDATA = 74
  786.     Global Const $WM_CANCELJOURNAL = 75
  787.     Global Const $WM_INPUTLANGCHANGEREQUEST = 80
  788.     Global Const $WM_INPUTLANGCHANGE = 81
  789.     Global Const $WM_TCARD = 82
  790.     Global Const $WM_HELP = 83
  791.     Global Const $WM_USERCHANGED = 84
  792.     Global Const $WM_NOTIFYFORMAT = 85
  793.     Global Const $WM_PARENTNOTIFY = 528
  794.     Global Const $WM_ENTERMENULOOP = 529
  795.     Global Const $WM_EXITMENULOOP = 530
  796.     Global Const $WM_NEXTMENU = 531
  797.     Global Const $WM_CAPTURECHANGED = 533
  798.     Global Const $WM_MOVING = 534
  799.     Global Const $WM_POWERBROADCAST = 536
  800.     Global Const $WM_DEVICECHANGE = 537
  801.     Global Const $WM_MDICREATE = 544
  802.     Global Const $WM_MDIDESTROY = 545
  803.     Global Const $WM_MDIACTIVATE = 546
  804.     Global Const $WM_MDIRESTORE = 547
  805.     Global Const $WM_MDINEXT = 548
  806.     Global Const $WM_MDIMAXIMIZE = 549
  807.     Global Const $WM_MDITILE = 550
  808.     Global Const $WM_MDICASCADE = 551
  809.     Global Const $WM_MDIICONARRANGE = 552
  810.     Global Const $WM_MDIGETACTIVE = 553
  811.     Global Const $WM_MDISETMENU = 560
  812.     Global Const $WM_ENTERSIZEMOVE = 561
  813.     Global Const $WM_EXITSIZEMOVE = 562
  814.     Global Const $WM_DROPFILES = 563
  815.     Global Const $WM_MDIREFRESHMENU = 564
  816.     Global Const $WM_IME_SETCONTEXT = 641
  817.     Global Const $WM_IME_NOTIFY = 642
  818.     Global Const $WM_IME_CONTROL = 643
  819.     Global Const $WM_IME_COMPOSITIONFULL = 644
  820.     Global Const $WM_IME_SELECT = 645
  821.     Global Const $WM_IME_CHAR = 646
  822.     Global Const $WM_IME_REQUEST = 648
  823.     Global Const $WM_IME_KEYDOWN = 656
  824.     Global Const $WM_IME_KEYUP = 657
  825.     Global Const $WM_NCMOUSEHOVER = 672
  826.     Global Const $WM_MOUSEHOVER = 673
  827.     Global Const $WM_NCMOUSELEAVE = 674
  828.     Global Const $WM_MOUSELEAVE = 675
  829.     Global Const $WM_WTSSESSION_CHANGE = 689
  830.     Global Const $WM_TABLET_FIRST = 704
  831.     Global Const $WM_TABLET_LAST = 735
  832.     Global Const $WM_CUT = 768
  833.     Global Const $WM_COPY = 769
  834.     Global Const $WM_PASTE = 770
  835.     Global Const $WM_CLEAR = 771
  836.     Global Const $WM_UNDO = 772
  837.     Global Const $WM_PALETTEISCHANGING = 784
  838.     Global Const $WM_HOTKEY = 786
  839.     Global Const $WM_PALETTECHANGED = 785
  840.     Global Const $WM_PRINT = 791
  841.     Global Const $WM_PRINTCLIENT = 792
  842.     Global Const $WM_APPCOMMAND = 793
  843.     Global Const $WM_QUERYNEWPALETTE = 783
  844.     Global Const $WM_THEMECHANGED = 794
  845.     Global Const $WM_HANDHELDFIRST = 856
  846.     Global Const $WM_HANDHELDLAST = 863
  847.     Global Const $WM_AFXFIRST = 864
  848.     Global Const $WM_AFXLAST = 895
  849.     Global Const $WM_PENWINFIRST = 896
  850.     Global Const $WM_PENWINLAST = 911
  851.     Global Const $WM_CONTEXTMENU = 123
  852.     Global Const $WM_STYLECHANGING = 124
  853.     Global Const $WM_STYLECHANGED = 125
  854.     Global Const $WM_DISPLAYCHANGE = 126
  855.     Global Const $WM_GETICON = 127
  856.     Global Const $WM_SETICON = 128
  857.     Global Const $WM_NCCREATE = 129
  858.     Global Const $WM_NCDESTROY = 130
  859.     Global Const $WM_NCCALCSIZE = 131
  860.     Global Const $WM_NCHITTEST = 132
  861.     Global Const $WM_NCPAINT = 133
  862.     Global Const $WM_NCACTIVATE = 134
  863.     Global Const $WM_GETDLGCODE = 135
  864.     Global Const $WM_SYNCPAINT = 136
  865.     Global Const $WM_NCMOUSEMOVE = 160
  866.     Global Const $WM_NCLBUTTONDOWN = 161
  867.     Global Const $WM_NCLBUTTONUP = 162
  868.     Global Const $WM_NCLBUTTONDBLCLK = 163
  869.     Global Const $WM_NCRBUTTONDOWN = 164
  870.     Global Const $WM_NCRBUTTONUP = 165
  871.     Global Const $WM_NCRBUTTONDBLCLK = 166
  872.     Global Const $WM_NCMBUTTONDOWN = 167
  873.     Global Const $WM_NCMBUTTONUP = 168
  874.     Global Const $WM_NCMBUTTONDBLCLK = 169
  875.     Global Const $WM_NCXBUTTONDOWN = 171
  876.     Global Const $WM_NCXBUTTONUP = 172
  877.     Global Const $WM_NCXBUTTONDBLCLK = 173
  878.     Global Const $WM_KEYDOWN = 256
  879.     Global Const $WM_KEYFIRST = 256
  880.     Global Const $WM_KEYUP = 257
  881.     Global Const $WM_CHAR = 258
  882.     Global Const $WM_DEADCHAR = 259
  883.     Global Const $WM_SYSKEYDOWN = 260
  884.     Global Const $WM_SYSKEYUP = 261
  885.     Global Const $WM_SYSCHAR = 262
  886.     Global Const $WM_SYSDEADCHAR = 263
  887.     Global Const $WM_KEYLAST = 265
  888.     Global Const $WM_UNICHAR = 265
  889.     Global Const $WM_INITDIALOG = 272
  890.     Global Const $WM_COMMAND = 273
  891.     Global Const $WM_SYSCOMMAND = 274
  892.     Global Const $WM_TIMER = 275
  893.     Global Const $WM_HSCROLL = 276
  894.     Global Const $WM_VSCROLL = 277
  895.     Global Const $WM_INITMENU = 278
  896.     Global Const $WM_INITMENUPOPUP = 279
  897.     Global Const $WM_MENUSELECT = 287
  898.     Global Const $WM_MENUCHAR = 288
  899.     Global Const $WM_ENTERIDLE = 289
  900.     Global Const $WM_MENURBUTTONUP = 290
  901.     Global Const $WM_MENUDRAG = 291
  902.     Global Const $WM_MENUGETOBJECT = 292
  903.     Global Const $WM_UNINITMENUPOPUP = 293
  904.     Global Const $WM_MENUCOMMAND = 294
  905.     Global Const $WM_CHANGEUISTATE = 295
  906.     Global Const $WM_UPDATEUISTATE = 296
  907.     Global Const $WM_QUERYUISTATE = 297
  908.     Global Const $WM_CTLCOLORMSGBOX = 306
  909.     Global Const $WM_CTLCOLOREDIT = 307
  910.     Global Const $WM_CTLCOLORLISTBOX = 308
  911.     Global Const $WM_CTLCOLORBTN = 309
  912.     Global Const $WM_CTLCOLORDLG = 310
  913.     Global Const $WM_CTLCOLORSCROLLBAR = 311
  914.     Global Const $WM_CTLCOLORSTATIC = 312
  915.     Global Const $WM_CTLCOLOR = 25
  916.     Global Const $MN_GETHMENU = 481
  917.     Global Const $WM_APP = 32768
  918.     Global Const $NM_FIRST = 0
  919.     Global Const $NM_OUTOFMEMORY = $NM_FIRST - 1
  920.     Global Const $NM_CLICK = $NM_FIRST - 2
  921.     Global Const $NM_DBLCLK = $NM_FIRST - 3
  922.     Global Const $NM_RETURN = $NM_FIRST - 4
  923.     Global Const $NM_RCLICK = $NM_FIRST - 5
  924.     Global Const $NM_RDBLCLK = $NM_FIRST - 6
  925.     Global Const $NM_SETFOCUS = $NM_FIRST - 7
  926.     Global Const $NM_KILLFOCUS = $NM_FIRST - 8
  927.     Global Const $NM_CUSTOMDRAW = $NM_FIRST - 12
  928.     Global Const $NM_HOVER = $NM_FIRST - 13
  929.     Global Const $NM_NCHITTEST = $NM_FIRST - 14
  930.     Global Const $NM_KEYDOWN = $NM_FIRST - 15
  931.     Global Const $NM_RELEASEDCAPTURE = $NM_FIRST - 16
  932.     Global Const $NM_SETCURSOR = $NM_FIRST - 17
  933.     Global Const $NM_CHAR = $NM_FIRST - 18
  934.     Global Const $NM_TOOLTIPSCREATED = $NM_FIRST - 19
  935.     Global Const $NM_LDOWN = $NM_FIRST - 20
  936.     Global Const $NM_RDOWN = $NM_FIRST - 21
  937.     Global Const $NM_THEMECHANGED = $NM_FIRST - 22
  938.     Global Const $WM_MOUSEFIRST = 512
  939.     Global Const $WM_MOUSEMOVE = 512
  940.     Global Const $WM_LBUTTONDOWN = 513
  941.     Global Const $WM_LBUTTONUP = 514
  942.     Global Const $WM_LBUTTONDBLCLK = 515
  943.     Global Const $WM_RBUTTONDOWN = 516
  944.     Global Const $WM_RBUTTONUP = 517
  945.     Global Const $WM_RBUTTONDBLCLK = 518
  946.     Global Const $WM_MBUTTONDOWN = 519
  947.     Global Const $WM_MBUTTONUP = 520
  948.     Global Const $WM_MBUTTONDBLCLK = 521
  949.     Global Const $WM_MOUSEWHEEL = 522
  950.     Global Const $WM_XBUTTONDOWN = 523
  951.     Global Const $WM_XBUTTONUP = 524
  952.     Global Const $WM_XBUTTONDBLCLK = 525
  953.     Global Const $WM_MOUSEHWHEEL = 526
  954.     Global Const $PS_SOLID = 0
  955.     Global Const $PS_DASH = 1
  956.     Global Const $PS_DOT = 2
  957.     Global Const $PS_DASHDOT = 3
  958.     Global Const $PS_DASHDOTDOT = 4
  959.     Global Const $PS_NULL = 5
  960.     Global Const $PS_INSIDEFRAME = 6
  961.     Global Const $LWA_ALPHA = 2
  962.     Global Const $LWA_COLORKEY = 1
  963.     Global Const $RGN_AND = 1
  964.     Global Const $RGN_OR = 2
  965.     Global Const $RGN_XOR = 3
  966.     Global Const $RGN_DIFF = 4
  967.     Global Const $RGN_COPY = 5
  968.     Global Const $ERRORREGION = 0
  969.     Global Const $NULLREGION = 1
  970.     Global Const $SIMPLEREGION = 2
  971.     Global Const $COMPLEXREGION = 3
  972.     Global Const $TRANSPARENT = 1
  973.     Global Const $OPAQUE = 2
  974.     Global Const $CCM_FIRST = 8192
  975.     Global Const $CCM_GETUNICODEFORMAT = ($CCM_FIRST + 6)
  976.     Global Const $CCM_SETUNICODEFORMAT = ($CCM_FIRST + 5)
  977.     Global Const $CCM_SETBKCOLOR = $CCM_FIRST + 1
  978.     Global Const $CCM_SETCOLORSCHEME = $CCM_FIRST + 2
  979.     Global Const $CCM_GETCOLORSCHEME = $CCM_FIRST + 3
  980.     Global Const $CCM_GETDROPTARGET = $CCM_FIRST + 4
  981.     Global Const $CCM_SETWINDOWTHEME = $CCM_FIRST + 11
  982.     Global Const $GA_PARENT = 1
  983.     Global Const $GA_ROOT = 2
  984.     Global Const $GA_ROOTOWNER = 3
  985.     Global Const $SM_CXSCREEN = 0
  986.     Global Const $SM_CYSCREEN = 1
  987.     Global Const $SM_CXVSCROLL = 2
  988.     Global Const $SM_CYHSCROLL = 3
  989.     Global Const $SM_CYCAPTION = 4
  990.     Global Const $SM_CXBORDER = 5
  991.     Global Const $SM_CYBORDER = 6
  992.     Global Const $SM_CXDLGFRAME = 7
  993.     Global Const $SM_CYDLGFRAME = 8
  994.     Global Const $SM_CYVTHUMB = 9
  995.     Global Const $SM_CXHTHUMB = 10
  996.     Global Const $SM_CXICON = 11
  997.     Global Const $SM_CYICON = 12
  998.     Global Const $SM_CXCURSOR = 13
  999.     Global Const $SM_CYCURSOR = 14
  1000.     Global Const $SM_CYMENU = 15
  1001.     Global Const $SM_CXFULLSCREEN = 16
  1002.     Global Const $SM_CYFULLSCREEN = 17
  1003.     Global Const $SM_CYKANJIWINDOW = 18
  1004.     Global Const $SM_MOUSEPRESENT = 19
  1005.     Global Const $SM_CYVSCROLL = 20
  1006.     Global Const $SM_CXHSCROLL = 21
  1007.     Global Const $SM_DEBUG = 22
  1008.     Global Const $SM_SWAPBUTTON = 23
  1009.     Global Const $SM_RESERVED1 = 24
  1010.     Global Const $SM_RESERVED2 = 25
  1011.     Global Const $SM_RESERVED3 = 26
  1012.     Global Const $SM_RESERVED4 = 27
  1013.     Global Const $SM_CXMIN = 28
  1014.     Global Const $SM_CYMIN = 29
  1015.     Global Const $SM_CXSIZE = 30
  1016.     Global Const $SM_CYSIZE = 31
  1017.     Global Const $SM_CXFRAME = 32
  1018.     Global Const $SM_CYFRAME = 33
  1019.     Global Const $SM_CXMINTRACK = 34
  1020.     Global Const $SM_CYMINTRACK = 35
  1021.     Global Const $SM_CXDOUBLECLK = 36
  1022.     Global Const $SM_CYDOUBLECLK = 37
  1023.     Global Const $SM_CXICONSPACING = 38
  1024.     Global Const $SM_CYICONSPACING = 39
  1025.     Global Const $SM_MENUDROPALIGNMENT = 40
  1026.     Global Const $SM_PENWINDOWS = 41
  1027.     Global Const $SM_DBCSENABLED = 42
  1028.     Global Const $SM_CMOUSEBUTTONS = 43
  1029.     Global Const $SM_SECURE = 44
  1030.     Global Const $SM_CXEDGE = 45
  1031.     Global Const $SM_CYEDGE = 46
  1032.     Global Const $SM_CXMINSPACING = 47
  1033.     Global Const $SM_CYMINSPACING = 48
  1034.     Global Const $SM_CXSMICON = 49
  1035.     Global Const $SM_CYSMICON = 50
  1036.     Global Const $SM_CYSMCAPTION = 51
  1037.     Global Const $SM_CXSMSIZE = 52
  1038.     Global Const $SM_CYSMSIZE = 53
  1039.     Global Const $SM_CXMENUSIZE = 54
  1040.     Global Const $SM_CYMENUSIZE = 55
  1041.     Global Const $SM_ARRANGE = 56
  1042.     Global Const $SM_CXMINIMIZED = 57
  1043.     Global Const $SM_CYMINIMIZED = 58
  1044.     Global Const $SM_CXMAXTRACK = 59
  1045.     Global Const $SM_CYMAXTRACK = 60
  1046.     Global Const $SM_CXMAXIMIZED = 61
  1047.     Global Const $SM_CYMAXIMIZED = 62
  1048.     Global Const $SM_NETWORK = 63
  1049.     Global Const $SM_CLEANBOOT = 67
  1050.     Global Const $SM_CXDRAG = 68
  1051.     Global Const $SM_CYDRAG = 69
  1052.     Global Const $SM_SHOWSOUNDS = 70
  1053.     Global Const $SM_CXMENUCHECK = 71
  1054.     Global Const $SM_CYMENUCHECK = 72
  1055.     Global Const $SM_SLOWMACHINE = 73
  1056.     Global Const $SM_MIDEASTENABLED = 74
  1057.     Global Const $SM_MOUSEWHEELPRESENT = 75
  1058.     Global Const $SM_XVIRTUALSCREEN = 76
  1059.     Global Const $SM_YVIRTUALSCREEN = 77
  1060.     Global Const $SM_CXVIRTUALSCREEN = 78
  1061.     Global Const $SM_CYVIRTUALSCREEN = 79
  1062.     Global Const $SM_CMONITORS = 80
  1063.     Global Const $SM_SAMEDISPLAYFORMAT = 81
  1064.     Global Const $SM_IMMENABLED = 82
  1065.     Global Const $SM_CXFOCUSBORDER = 83
  1066.     Global Const $SM_CYFOCUSBORDER = 84
  1067.     Global Const $SM_TABLETPC = 86
  1068.     Global Const $SM_MEDIACENTER = 87
  1069.     Global Const $SM_STARTER = 88
  1070.     Global Const $SM_SERVERR2 = 89
  1071.     Global Const $SM_CMETRICS = 90
  1072.     Global Const $SM_REMOTESESSION = 4096
  1073.     Global Const $SM_SHUTTINGDOWN = 8192
  1074.     Global Const $SM_REMOTECONTROL = 8193
  1075.     Global Const $SM_CARETBLINKINGENABLED = 8194
  1076.     Global Const $BLACKNESS = 66
  1077.     Global Const $CAPTUREBLT = 1073741824
  1078.     Global Const $DSTINVERT = 5570569
  1079.     Global Const $MERGECOPY = 12583114
  1080.     Global Const $MERGEPAINT = 12255782
  1081.     Global Const $NOMIRRORBITMAP = -2147483648
  1082.     Global Const $NOTSRCCOPY = 3342344
  1083.     Global Const $NOTSRCERASE = 1114278
  1084.     Global Const $PATCOPY = 15728673
  1085.     Global Const $PATINVERT = 5898313
  1086.     Global Const $PATPAINT = 16452105
  1087.     Global Const $SRCAND = 8913094
  1088.     Global Const $SRCCOPY = 13369376
  1089.     Global Const $SRCERASE = 4457256
  1090.     Global Const $SRCINVERT = 6684742
  1091.     Global Const $SRCPAINT = 15597702
  1092.     Global Const $WHITENESS = 16711778
  1093.     Global Const $DT_BOTTOM = 8
  1094.     Global Const $DT_CALCRECT = 1024
  1095.     Global Const $DT_CENTER = 1
  1096.     Global Const $DT_EDITCONTROL = 8192
  1097.     Global Const $DT_END_ELLIPSIS = 32768
  1098.     Global Const $DT_EXPANDTABS = 64
  1099.     Global Const $DT_EXTERNALLEADING = 512
  1100.     Global Const $DT_HIDEPREFIX = 1048576
  1101.     Global Const $DT_INTERNAL = 4096
  1102.     Global Const $DT_LEFT = 0
  1103.     Global Const $DT_MODIFYSTRING = 65536
  1104.     Global Const $DT_NOCLIP = 256
  1105.     Global Const $DT_NOFULLWIDTHCHARBREAK = 524288
  1106.     Global Const $DT_NOPREFIX = 2048
  1107.     Global Const $DT_PATH_ELLIPSIS = 16384
  1108.     Global Const $DT_PREFIXONLY = 2097152
  1109.     Global Const $DT_RIGHT = 2
  1110.     Global Const $DT_RTLREADING = 131072
  1111.     Global Const $DT_SINGLELINE = 32
  1112.     Global Const $DT_TABSTOP = 128
  1113.     Global Const $DT_TOP = 0
  1114.     Global Const $DT_VCENTER = 4
  1115.     Global Const $DT_WORDBREAK = 16
  1116.     Global Const $DT_WORD_ELLIPSIS = 262144
  1117.     Global Const $RDW_ERASE = 4
  1118.     Global Const $RDW_FRAME = 1024
  1119.     Global Const $RDW_INTERNALPAINT = 2
  1120.     Global Const $RDW_INVALIDATE = 1
  1121.     Global Const $RDW_NOERASE = 32
  1122.     Global Const $RDW_NOFRAME = 2048
  1123.     Global Const $RDW_NOINTERNALPAINT = 16
  1124.     Global Const $RDW_VALIDATE = 8
  1125.     Global Const $RDW_ERASENOW = 512
  1126.     Global Const $RDW_UPDATENOW = 256
  1127.     Global Const $RDW_ALLCHILDREN = 128
  1128.     Global Const $RDW_NOCHILDREN = 64
  1129.     Global Const $WM_RENDERFORMAT = 773
  1130.     Global Const $WM_RENDERALLFORMATS = 774
  1131.     Global Const $WM_DESTROYCLIPBOARD = 775
  1132.     Global Const $WM_DRAWCLIPBOARD = 776
  1133.     Global Const $WM_PAINTCLIPBOARD = 777
  1134.     Global Const $WM_VSCROLLCLIPBOARD = 778
  1135.     Global Const $WM_SIZECLIPBOARD = 779
  1136.     Global Const $WM_ASKCBFORMATNAME = 780
  1137.     Global Const $WM_CHANGECBCHAIN = 781
  1138.     Global Const $WM_HSCROLLCLIPBOARD = 782
  1139.     Global Const $HTERROR = -2
  1140.     Global Const $HTTRANSPARENT = -1
  1141.     Global Const $HTNOWHERE = 0
  1142.     Global Const $HTCLIENT = 1
  1143.     Global Const $HTCAPTION = 2
  1144.     Global Const $HTSYSMENU = 3
  1145.     Global Const $HTGROWBOX = 4
  1146.     Global Const $HTSIZE = $HTGROWBOX
  1147.     Global Const $HTMENU = 5
  1148.     Global Const $HTHSCROLL = 6
  1149.     Global Const $HTVSCROLL = 7
  1150.     Global Const $HTMINBUTTON = 8
  1151.     Global Const $HTMAXBUTTON = 9
  1152.     Global Const $HTLEFT = 10
  1153.     Global Const $HTRIGHT = 11
  1154.     Global Const $HTTOP = 12
  1155.     Global Const $HTTOPLEFT = 13
  1156.     Global Const $HTTOPRIGHT = 14
  1157.     Global Const $HTBOTTOM = 15
  1158.     Global Const $HTBOTTOMLEFT = 16
  1159.     Global Const $HTBOTTOMRIGHT = 17
  1160.     Global Const $HTBORDER = 18
  1161.     Global Const $HTREDUCE = $HTMINBUTTON
  1162.     Global Const $HTZOOM = $HTMAXBUTTON
  1163.     Global Const $HTSIZEFIRST = $HTLEFT
  1164.     Global Const $HTSIZELAST = $HTBOTTOMRIGHT
  1165.     Global Const $HTOBJECT = 19
  1166.     Global Const $HTCLOSE = 20
  1167.     Global Const $HTHELP = 21
  1168.     Global Const $COLOR_SCROLLBAR = 0
  1169.     Global Const $COLOR_BACKGROUND = 1
  1170.     Global Const $COLOR_ACTIVECAPTION = 2
  1171.     Global Const $COLOR_INACTIVECAPTION = 3
  1172.     Global Const $COLOR_MENU = 4
  1173.     Global Const $COLOR_WINDOW = 5
  1174.     Global Const $COLOR_WINDOWFRAME = 6
  1175.     Global Const $COLOR_MENUTEXT = 7
  1176.     Global Const $COLOR_WINDOWTEXT = 8
  1177.     Global Const $COLOR_CAPTIONTEXT = 9
  1178.     Global Const $COLOR_ACTIVEBORDER = 10
  1179.     Global Const $COLOR_INACTIVEBORDER = 11
  1180.     Global Const $COLOR_APPWORKSPACE = 12
  1181.     Global Const $COLOR_HIGHLIGHT = 13
  1182.     Global Const $COLOR_HIGHLIGHTTEXT = 14
  1183.     Global Const $COLOR_BTNFACE = 15
  1184.     Global Const $COLOR_BTNSHADOW = 16
  1185.     Global Const $COLOR_GRAYTEXT = 17
  1186.     Global Const $COLOR_BTNTEXT = 18
  1187.     Global Const $COLOR_INACTIVECAPTIONTEXT = 19
  1188.     Global Const $COLOR_BTNHIGHLIGHT = 20
  1189.     Global Const $COLOR_3DDKSHADOW = 21
  1190.     Global Const $COLOR_3DLIGHT = 22
  1191.     Global Const $COLOR_INFOTEXT = 23
  1192.     Global Const $COLOR_INFOBK = 24
  1193.     Global Const $COLOR_HOTLIGHT = 26
  1194.     Global Const $COLOR_GRADIENTACTIVECAPTION = 27
  1195.     Global Const $COLOR_GRADIENTINACTIVECAPTION = 28
  1196.     Global Const $COLOR_MENUHILIGHT = 29
  1197.     Global Const $COLOR_MENUBAR = 30
  1198.     Global Const $COLOR_DESKTOP = 1
  1199.     Global Const $COLOR_3DFACE = 15
  1200.     Global Const $COLOR_3DSHADOW = 16
  1201.     Global Const $COLOR_3DHIGHLIGHT = 20
  1202.     Global Const $COLOR_3DHILIGHT = 20
  1203.     Global Const $COLOR_BTNHILIGHT = 20
  1204.     Global Const $HINST_COMMCTRL = -1
  1205.     Global Const $IDB_STD_SMALL_COLOR = 0
  1206.     Global Const $IDB_STD_LARGE_COLOR = 1
  1207.     Global Const $IDB_VIEW_SMALL_COLOR = 4
  1208.     Global Const $IDB_VIEW_LARGE_COLOR = 5
  1209.     Global Const $IDB_HIST_SMALL_COLOR = 8
  1210.     Global Const $IDB_HIST_LARGE_COLOR = 9
  1211.     Global Const $STARTF_FORCEOFFFEEDBACK = 128
  1212.     Global Const $STARTF_FORCEONFEEDBACK = 64
  1213.     Global Const $STARTF_RUNFULLSCREEN = 32
  1214.     Global Const $STARTF_USECOUNTCHARS = 8
  1215.     Global Const $STARTF_USEFILLATTRIBUTE = 16
  1216.     Global Const $STARTF_USEHOTKEY = 512
  1217.     Global Const $STARTF_USEPOSITION = 4
  1218.     Global Const $STARTF_USESHOWWINDOW = 1
  1219.     Global Const $STARTF_USESIZE = 2
  1220.     Global Const $STARTF_USESTDHANDLES = 256
  1221.     Global Const $CDDS_PREPAINT = 1
  1222.     Global Const $CDDS_POSTPAINT = 2
  1223.     Global Const $CDDS_PREERASE = 3
  1224.     Global Const $CDDS_POSTERASE = 4
  1225.     Global Const $CDDS_ITEM = 65536
  1226.     Global Const $CDDS_ITEMPREPAINT = 65537
  1227.     Global Const $CDDS_ITEMPOSTPAINT = 65538
  1228.     Global Const $CDDS_ITEMPREERASE = 65539
  1229.     Global Const $CDDS_ITEMPOSTERASE = 65540
  1230.     Global Const $CDDS_SUBITEM = 131072
  1231.     Global Const $CDIS_SELECTED = 1
  1232.     Global Const $CDIS_GRAYED = 2
  1233.     Global Const $CDIS_DISABLED = 4
  1234.     Global Const $CDIS_CHECKED = 8
  1235.     Global Const $CDIS_FOCUS = 16
  1236.     Global Const $CDIS_DEFAULT = 32
  1237.     Global Const $CDIS_HOT = 64
  1238.     Global Const $CDIS_MARKED = 128
  1239.     Global Const $CDIS_INDETERMINATE = 256
  1240.     Global Const $CDIS_SHOWKEYBOARDCUES = 512
  1241.     Global Const $CDIS_NEARHOT = 1024
  1242.     Global Const $CDIS_OTHERSIDEHOT = 2048
  1243.     Global Const $CDIS_DROPHILITED = 4096
  1244.     Global Const $CDRF_DODEFAULT = 0
  1245.     Global Const $CDRF_NEWFONT = 2
  1246.     Global Const $CDRF_SKIPDEFAULT = 4
  1247.     Global Const $CDRF_NOTIFYPOSTPAINT = 16
  1248.     Global Const $CDRF_NOTIFYITEMDRAW = 32
  1249.     Global Const $CDRF_NOTIFYSUBITEMDRAW = 32
  1250.     Global Const $CDRF_NOTIFYPOSTERASE = 64
  1251.     Global Const $CDRF_DOERASE = 8
  1252.     Global Const $CDRF_SKIPPOSTPAINT = 256
  1253.     Global Const $GUI_SS_DEFAULT_GUI = BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU)
  1254.     Func _HexToString($STRHEX)
  1255.         If StringLeft($STRHEX, 2) = "0x" Then Return BinaryToString($STRHEX)
  1256.         Return BinaryToString("0x" & $STRHEX)
  1257.     EndFunc
  1258.     Func _StringBetween($S_STRING, $S_START, $S_END, $V_CASE = -1)
  1259.         Local $S_CASE = ""
  1260.         If $V_CASE = Default Or $V_CASE = -1 Then $S_CASE = "(?i)"
  1261.         Local $S_PATTERN_ESCAPE = "(\.|\||\*|\?|\+|\(|\)|\{|\}|\[|\]|\^|\$|\\)"
  1262.         $S_START = StringRegExpReplace($S_START, $S_PATTERN_ESCAPE, "\\$1")
  1263.         $S_END = StringRegExpReplace($S_END, $S_PATTERN_ESCAPE, "\\$1")
  1264.         If $S_START = "" Then $S_START = "\A"
  1265.         If $S_END = "" Then $S_END = "\z"
  1266.         Local $A_RET = StringRegExp($S_STRING, "(?s)" & $S_CASE & $S_START & "(.*?)" & $S_END, 3)
  1267.         If @error Then Return SetError(1, 0, 0)
  1268.         Return $A_RET
  1269.     EndFunc
  1270.     Func _StringEncrypt($I_ENCRYPT, $S_ENCRYPTTEXT, $S_ENCRYPTPASSWORD, $I_ENCRYPTLEVEL = 1)
  1271.         If $I_ENCRYPT <> 0 And $I_ENCRYPT <> 1 Then
  1272.             SetError(1, 0, "")
  1273.         ElseIf $S_ENCRYPTTEXT = "" Or $S_ENCRYPTPASSWORD = "" Then
  1274.             SetError(1, 0, "")
  1275.         Else
  1276.             If Number($I_ENCRYPTLEVEL) <= 0 Or Int($I_ENCRYPTLEVEL) <> $I_ENCRYPTLEVEL Then $I_ENCRYPTLEVEL = 1
  1277.             Local $V_ENCRYPTMODIFIED
  1278.             Local $I_ENCRYPTCOUNTH
  1279.             Local $I_ENCRYPTCOUNTG
  1280.             Local $V_ENCRYPTSWAP
  1281.             Local $AV_ENCRYPTBOX[256][2]
  1282.             Local $I_ENCRYPTCOUNTA
  1283.             Local $I_ENCRYPTCOUNTB
  1284.             Local $I_ENCRYPTCOUNTC
  1285.             Local $I_ENCRYPTCOUNTD
  1286.             Local $I_ENCRYPTCOUNTE
  1287.             Local $V_ENCRYPTCIPHER
  1288.             Local $V_ENCRYPTCIPHERBY
  1289.             If $I_ENCRYPT = 1 Then
  1290.                 For $I_ENCRYPTCOUNTF = 0 To $I_ENCRYPTLEVEL Step 1
  1291.                     $I_ENCRYPTCOUNTG = ""
  1292.                     $I_ENCRYPTCOUNTH = ""
  1293.                     $V_ENCRYPTMODIFIED = ""
  1294.                     For $I_ENCRYPTCOUNTG = 1 To StringLen($S_ENCRYPTTEXT)
  1295.                         If $I_ENCRYPTCOUNTH = StringLen($S_ENCRYPTPASSWORD) Then
  1296.                             $I_ENCRYPTCOUNTH = 1
  1297.                         Else
  1298.                             $I_ENCRYPTCOUNTH += 1
  1299.                         EndIf
  1300.                         $V_ENCRYPTMODIFIED = $V_ENCRYPTMODIFIED & Chr(BitXOR(Asc(StringMid($S_ENCRYPTTEXT, $I_ENCRYPTCOUNTG, 1)), Asc(StringMid($S_ENCRYPTPASSWORD, $I_ENCRYPTCOUNTH, 1)), 255))
  1301.                     Next
  1302.                     $S_ENCRYPTTEXT = $V_ENCRYPTMODIFIED
  1303.                     $I_ENCRYPTCOUNTA = ""
  1304.                     $I_ENCRYPTCOUNTB = 0
  1305.                     $I_ENCRYPTCOUNTC = ""
  1306.                     $I_ENCRYPTCOUNTD = ""
  1307.                     $I_ENCRYPTCOUNTE = ""
  1308.                     $V_ENCRYPTCIPHERBY = ""
  1309.                     $V_ENCRYPTCIPHER = ""
  1310.                     $V_ENCRYPTSWAP = ""
  1311.                     $AV_ENCRYPTBOX = ""
  1312.                     Local $AV_ENCRYPTBOX[256][2]
  1313.                     For $I_ENCRYPTCOUNTA = 0 To 255
  1314.                         $AV_ENCRYPTBOX[$I_ENCRYPTCOUNTA][1] = Asc(StringMid($S_ENCRYPTPASSWORD, Mod($I_ENCRYPTCOUNTA, StringLen($S_ENCRYPTPASSWORD)) + 1, 1))
  1315.                         $AV_ENCRYPTBOX[$I_ENCRYPTCOUNTA][0] = $I_ENCRYPTCOUNTA
  1316.                     Next
  1317.                     For $I_ENCRYPTCOUNTA = 0 To 255
  1318.                         $I_ENCRYPTCOUNTB = Mod(($I_ENCRYPTCOUNTB + $AV_ENCRYPTBOX[$I_ENCRYPTCOUNTA][0] + $AV_ENCRYPTBOX[$I_ENCRYPTCOUNTA][1]), 256)
  1319.                         $V_ENCRYPTSWAP = $AV_ENCRYPTBOX[$I_ENCRYPTCOUNTA][0]
  1320.                         $AV_ENCRYPTBOX[$I_ENCRYPTCOUNTA][0] = $AV_ENCRYPTBOX[$I_ENCRYPTCOUNTB][0]
  1321.                         $AV_ENCRYPTBOX[$I_ENCRYPTCOUNTB][0] = $V_ENCRYPTSWAP
  1322.                     Next
  1323.                     For $I_ENCRYPTCOUNTA = 1 To StringLen($S_ENCRYPTTEXT)
  1324.                         $I_ENCRYPTCOUNTC = Mod(($I_ENCRYPTCOUNTC + 1), 256)
  1325.                         $I_ENCRYPTCOUNTD = Mod(($I_ENCRYPTCOUNTD + $AV_ENCRYPTBOX[$I_ENCRYPTCOUNTC][0]), 256)
  1326.                         $I_ENCRYPTCOUNTE = $AV_ENCRYPTBOX[Mod(($AV_ENCRYPTBOX[$I_ENCRYPTCOUNTC][0] + $AV_ENCRYPTBOX[$I_ENCRYPTCOUNTD][0]), 256)][0]
  1327.                         $V_ENCRYPTCIPHERBY = BitXOR(Asc(StringMid($S_ENCRYPTTEXT, $I_ENCRYPTCOUNTA, 1)), $I_ENCRYPTCOUNTE)
  1328.                         $V_ENCRYPTCIPHER &= Hex($V_ENCRYPTCIPHERBY, 2)
  1329.                     Next
  1330.                     $S_ENCRYPTTEXT = $V_ENCRYPTCIPHER
  1331.                 Next
  1332.             Else
  1333.                 For $I_ENCRYPTCOUNTF = 0 To $I_ENCRYPTLEVEL Step 1
  1334.                     $I_ENCRYPTCOUNTB = 0
  1335.                     $I_ENCRYPTCOUNTC = ""
  1336.                     $I_ENCRYPTCOUNTD = ""
  1337.                     $I_ENCRYPTCOUNTE = ""
  1338.                     $V_ENCRYPTCIPHERBY = ""
  1339.                     $V_ENCRYPTCIPHER = ""
  1340.                     $V_ENCRYPTSWAP = ""
  1341.                     $AV_ENCRYPTBOX = ""
  1342.                     Local $AV_ENCRYPTBOX[256][2]
  1343.                     For $I_ENCRYPTCOUNTA = 0 To 255
  1344.                         $AV_ENCRYPTBOX[$I_ENCRYPTCOUNTA][1] = Asc(StringMid($S_ENCRYPTPASSWORD, Mod($I_ENCRYPTCOUNTA, StringLen($S_ENCRYPTPASSWORD)) + 1, 1))
  1345.                         $AV_ENCRYPTBOX[$I_ENCRYPTCOUNTA][0] = $I_ENCRYPTCOUNTA
  1346.                     Next
  1347.                     For $I_ENCRYPTCOUNTA = 0 To 255
  1348.                         $I_ENCRYPTCOUNTB = Mod(($I_ENCRYPTCOUNTB + $AV_ENCRYPTBOX[$I_ENCRYPTCOUNTA][0] + $AV_ENCRYPTBOX[$I_ENCRYPTCOUNTA][1]), 256)
  1349.                         $V_ENCRYPTSWAP = $AV_ENCRYPTBOX[$I_ENCRYPTCOUNTA][0]
  1350.                         $AV_ENCRYPTBOX[$I_ENCRYPTCOUNTA][0] = $AV_ENCRYPTBOX[$I_ENCRYPTCOUNTB][0]
  1351.                         $AV_ENCRYPTBOX[$I_ENCRYPTCOUNTB][0] = $V_ENCRYPTSWAP
  1352.                     Next
  1353.                     For $I_ENCRYPTCOUNTA = 1 To StringLen($S_ENCRYPTTEXT) Step 2
  1354.                         $I_ENCRYPTCOUNTC = Mod(($I_ENCRYPTCOUNTC + 1), 256)
  1355.                         $I_ENCRYPTCOUNTD = Mod(($I_ENCRYPTCOUNTD + $AV_ENCRYPTBOX[$I_ENCRYPTCOUNTC][0]), 256)
  1356.                         $I_ENCRYPTCOUNTE = $AV_ENCRYPTBOX[Mod(($AV_ENCRYPTBOX[$I_ENCRYPTCOUNTC][0] + $AV_ENCRYPTBOX[$I_ENCRYPTCOUNTD][0]), 256)][0]
  1357.                         $V_ENCRYPTCIPHERBY = BitXOR(Dec(StringMid($S_ENCRYPTTEXT, $I_ENCRYPTCOUNTA, 2)), $I_ENCRYPTCOUNTE)
  1358.                         $V_ENCRYPTCIPHER = $V_ENCRYPTCIPHER & Chr($V_ENCRYPTCIPHERBY)
  1359.                     Next
  1360.                     $S_ENCRYPTTEXT = $V_ENCRYPTCIPHER
  1361.                     $I_ENCRYPTCOUNTG = ""
  1362.                     $I_ENCRYPTCOUNTH = ""
  1363.                     $V_ENCRYPTMODIFIED = ""
  1364.                     For $I_ENCRYPTCOUNTG = 1 To StringLen($S_ENCRYPTTEXT)
  1365.                         If $I_ENCRYPTCOUNTH = StringLen($S_ENCRYPTPASSWORD) Then
  1366.                             $I_ENCRYPTCOUNTH = 1
  1367.                         Else
  1368.                             $I_ENCRYPTCOUNTH += 1
  1369.                         EndIf
  1370.                         $V_ENCRYPTMODIFIED &= Chr(BitXOR(Asc(StringMid($S_ENCRYPTTEXT, $I_ENCRYPTCOUNTG, 1)), Asc(StringMid($S_ENCRYPTPASSWORD, $I_ENCRYPTCOUNTH, 1)), 255))
  1371.                     Next
  1372.                     $S_ENCRYPTTEXT = $V_ENCRYPTMODIFIED
  1373.                 Next
  1374.             EndIf
  1375.             Return $S_ENCRYPTTEXT
  1376.         EndIf
  1377.     EndFunc
  1378.     Func _StringExplode($SSTRING, $SDELIMITER, $ILIMIT = 0)
  1379.         If $ILIMIT > 0 Then
  1380.             $SSTRING = StringReplace($SSTRING, $SDELIMITER, Chr(0), $ILIMIT)
  1381.             $SDELIMITER = Chr(0)
  1382.         ElseIf $ILIMIT < 0 Then
  1383.             Local $IINDEX = StringInStr($SSTRING, $SDELIMITER, 0, $ILIMIT)
  1384.             If $IINDEX Then
  1385.                 $SSTRING = StringLeft($SSTRING, $IINDEX - 1)
  1386.             EndIf
  1387.         EndIf
  1388.         Return StringSplit($SSTRING, $SDELIMITER, 3)
  1389.     EndFunc
  1390.     Func _StringInsert($S_STRING, $S_INSERTSTRING, $I_POSITION)
  1391.         Local $I_LENGTH, $S_START, $S_END
  1392.         If $S_STRING = "" Or (Not IsString($S_STRING)) Then
  1393.             Return SetError(1, 0, $S_STRING)
  1394.         ElseIf $S_INSERTSTRING = "" Or (Not IsString($S_STRING)) Then
  1395.             Return SetError(2, 0, $S_STRING)
  1396.         Else
  1397.             $I_LENGTH = StringLen($S_STRING)
  1398.             If (Abs($I_POSITION) > $I_LENGTH) Or (Not IsInt($I_POSITION)) Then
  1399.                 Return SetError(3, 0, $S_STRING)
  1400.             EndIf
  1401.         EndIf
  1402.         If $I_POSITION = 0 Then
  1403.             Return $S_INSERTSTRING & $S_STRING
  1404.         ElseIf $I_POSITION > 0 Then
  1405.             $S_START = StringLeft($S_STRING, $I_POSITION)
  1406.             $S_END = StringRight($S_STRING, $I_LENGTH - $I_POSITION)
  1407.             Return $S_START & $S_INSERTSTRING & $S_END
  1408.         ElseIf $I_POSITION < 0 Then
  1409.             $S_START = StringLeft($S_STRING, Abs($I_LENGTH + $I_POSITION))
  1410.             $S_END = StringRight($S_STRING, Abs($I_POSITION))
  1411.             Return $S_START & $S_INSERTSTRING & $S_END
  1412.         EndIf
  1413.     EndFunc
  1414.     Func _StringProper($S_STRING)
  1415.         Local $IX = 0
  1416.         Local $CAPNEXT = 1
  1417.         Local $S_NSTR = ""
  1418.         Local $S_CURCHAR
  1419.         For $IX = 1 To StringLen($S_STRING)
  1420.             $S_CURCHAR = StringMid($S_STRING, $IX, 1)
  1421.             Select
  1422.                 Case $CAPNEXT = 1
  1423.                     If StringRegExp($S_CURCHAR, "[a-zA-ZÀ-ÿšœžŸ]") Then
  1424.                         $S_CURCHAR = StringUpper($S_CURCHAR)
  1425.                         $CAPNEXT = 0
  1426.                     EndIf
  1427.                 Case Not StringRegExp($S_CURCHAR, "[a-zA-ZÀ-ÿšœžŸ]")
  1428.                     $CAPNEXT = 1
  1429.                 Case Else
  1430.                     $S_CURCHAR = StringLower($S_CURCHAR)
  1431.             EndSelect
  1432.             $S_NSTR &= $S_CURCHAR
  1433.         Next
  1434.         Return $S_NSTR
  1435.     EndFunc
  1436.     Func _StringRepeat($SSTRING, $IREPEATCOUNT)
  1437.         Local $SRESULT
  1438.         Select
  1439.             Case Not StringIsInt($IREPEATCOUNT)
  1440.                 SetError(1)
  1441.                 Return ""
  1442.             Case StringLen($SSTRING) < 1
  1443.                 SetError(1)
  1444.                 Return ""
  1445.             Case $IREPEATCOUNT <= 0
  1446.                 SetError(1)
  1447.                 Return ""
  1448.             Case Else
  1449.                 For $ICOUNT = 1 To $IREPEATCOUNT
  1450.                     $SRESULT &= $SSTRING
  1451.                 Next
  1452.                 Return $SRESULT
  1453.         EndSelect
  1454.     EndFunc
  1455.     Func _StringReverse($S_STRING)
  1456.         Local $I_LEN = StringLen($S_STRING)
  1457.         If $I_LEN < 1 Then Return SetError(1, 0, "")
  1458.         Local $T_CHARS = DllStructCreate("char[" & $I_LEN + 1 & "]")
  1459.         DllStructSetData($T_CHARS, 1, $S_STRING)
  1460.         Local $A_REV = DllCall("msvcrt.dll", "ptr:cdecl", "_strrev", "struct*", $T_CHARS)
  1461.         If @error Or $A_REV[0] = 0 Then Return SetError(2, 0, "")
  1462.         Return DllStructGetData($T_CHARS, 1)
  1463.     EndFunc
  1464.     Func _StringToHex($STRCHAR)
  1465.         Return Hex(StringToBinary($STRCHAR))
  1466.     EndFunc
  1467.     Global Const $CB_ERR = -1
  1468.     Global Const $CB_ERRATTRIBUTE = -3
  1469.     Global Const $CB_ERRREQUIRED = -4
  1470.     Global Const $CB_ERRSPACE = -2
  1471.     Global Const $CB_OKAY = 0
  1472.     Global Const $STATE_SYSTEM_INVISIBLE = 32768
  1473.     Global Const $STATE_SYSTEM_PRESSED = 8
  1474.     Global Const $CBS_AUTOHSCROLL = 64
  1475.     Global Const $CBS_DISABLENOSCROLL = 2048
  1476.     Global Const $CBS_DROPDOWN = 2
  1477.     Global Const $CBS_DROPDOWNLIST = 3
  1478.     Global Const $CBS_HASSTRINGS = 512
  1479.     Global Const $CBS_LOWERCASE = 16384
  1480.     Global Const $CBS_NOINTEGRALHEIGHT = 1024
  1481.     Global Const $CBS_OEMCONVERT = 128
  1482.     Global Const $CBS_OWNERDRAWFIXED = 16
  1483.     Global Const $CBS_OWNERDRAWVARIABLE = 32
  1484.     Global Const $CBS_SIMPLE = 1
  1485.     Global Const $CBS_SORT = 256
  1486.     Global Const $CBS_UPPERCASE = 8192
  1487.     Global Const $CBM_FIRST = 5888
  1488.     Global Const $CB_ADDSTRING = 323
  1489.     Global Const $CB_DELETESTRING = 324
  1490.     Global Const $CB_DIR = 325
  1491.     Global Const $CB_FINDSTRING = 332
  1492.     Global Const $CB_FINDSTRINGEXACT = 344
  1493.     Global Const $CB_GETCOMBOBOXINFO = 356
  1494.     Global Const $CB_GETCOUNT = 326
  1495.     Global Const $CB_GETCUEBANNER = ($CBM_FIRST + 4)
  1496.     Global Const $CB_GETCURSEL = 327
  1497.     Global Const $CB_GETDROPPEDCONTROLRECT = 338
  1498.     Global Const $CB_GETDROPPEDSTATE = 343
  1499.     Global Const $CB_GETDROPPEDWIDTH = 351
  1500.     Global Const $CB_GETEDITSEL = 320
  1501.     Global Const $CB_GETEXTENDEDUI = 342
  1502.     Global Const $CB_GETHORIZONTALEXTENT = 349
  1503.     Global Const $CB_GETITEMDATA = 336
  1504.     Global Const $CB_GETITEMHEIGHT = 340
  1505.     Global Const $CB_GETLBTEXT = 328
  1506.     Global Const $CB_GETLBTEXTLEN = 329
  1507.     Global Const $CB_GETLOCALE = 346
  1508.     Global Const $CB_GETMINVISIBLE = 5890
  1509.     Global Const $CB_GETTOPINDEX = 347
  1510.     Global Const $CB_INITSTORAGE = 353
  1511.     Global Const $CB_LIMITTEXT = 321
  1512.     Global Const $CB_RESETCONTENT = 331
  1513.     Global Const $CB_INSERTSTRING = 330
  1514.     Global Const $CB_SELECTSTRING = 333
  1515.     Global Const $CB_SETCUEBANNER = ($CBM_FIRST + 3)
  1516.     Global Const $CB_SETCURSEL = 334
  1517.     Global Const $CB_SETDROPPEDWIDTH = 352
  1518.     Global Const $CB_SETEDITSEL = 322
  1519.     Global Const $CB_SETEXTENDEDUI = 341
  1520.     Global Const $CB_SETHORIZONTALEXTENT = 350
  1521.     Global Const $CB_SETITEMDATA = 337
  1522.     Global Const $CB_SETITEMHEIGHT = 339
  1523.     Global Const $CB_SETLOCALE = 345
  1524.     Global Const $CB_SETMINVISIBLE = 5889
  1525.     Global Const $CB_SETTOPINDEX = 348
  1526.     Global Const $CB_SHOWDROPDOWN = 335
  1527.     Global Const $CBN_CLOSEUP = 8
  1528.     Global Const $CBN_DBLCLK = 2
  1529.     Global Const $CBN_DROPDOWN = 7
  1530.     Global Const $CBN_EDITCHANGE = 5
  1531.     Global Const $CBN_EDITUPDATE = 6
  1532.     Global Const $CBN_ERRSPACE = (-1)
  1533.     Global Const $CBN_KILLFOCUS = 4
  1534.     Global Const $CBN_SELCHANGE = 1
  1535.     Global Const $CBN_SELENDCANCEL = 10
  1536.     Global Const $CBN_SELENDOK = 9
  1537.     Global Const $CBN_SETFOCUS = 3
  1538.     Global Const $CBES_EX_CASESENSITIVE = 16
  1539.     Global Const $CBES_EX_NOEDITIMAGE = 1
  1540.     Global Const $CBES_EX_NOEDITIMAGEINDENT = 2
  1541.     Global Const $CBES_EX_NOSIZELIMIT = 8
  1542.     Global Const $__COMBOBOXCONSTANT_WM_USER = 1024
  1543.     Global Const $CBEM_DELETEITEM = $CB_DELETESTRING
  1544.     Global Const $CBEM_GETCOMBOCONTROL = ($__COMBOBOXCONSTANT_WM_USER + 6)
  1545.     Global Const $CBEM_GETEDITCONTROL = ($__COMBOBOXCONSTANT_WM_USER + 7)
  1546.     Global Const $CBEM_GETEXSTYLE = ($__COMBOBOXCONSTANT_WM_USER + 9)
  1547.     Global Const $CBEM_GETEXTENDEDSTYLE = ($__COMBOBOXCONSTANT_WM_USER + 9)
  1548.     Global Const $CBEM_GETIMAGELIST = ($__COMBOBOXCONSTANT_WM_USER + 3)
  1549.     Global Const $CBEM_GETITEMA = ($__COMBOBOXCONSTANT_WM_USER + 4)
  1550.     Global Const $CBEM_GETITEMW = ($__COMBOBOXCONSTANT_WM_USER + 13)
  1551.     Global Const $CBEM_GETUNICODEFORMAT = 8192 + 6
  1552.     Global Const $CBEM_HASEDITCHANGED = ($__COMBOBOXCONSTANT_WM_USER + 10)
  1553.     Global Const $CBEM_INSERTITEMA = ($__COMBOBOXCONSTANT_WM_USER + 1)
  1554.     Global Const $CBEM_INSERTITEMW = ($__COMBOBOXCONSTANT_WM_USER + 11)
  1555.     Global Const $CBEM_SETEXSTYLE = ($__COMBOBOXCONSTANT_WM_USER + 8)
  1556.     Global Const $CBEM_SETEXTENDEDSTYLE = ($__COMBOBOXCONSTANT_WM_USER + 14)
  1557.     Global Const $CBEM_SETIMAGELIST = ($__COMBOBOXCONSTANT_WM_USER + 2)
  1558.     Global Const $CBEM_SETITEMA = ($__COMBOBOXCONSTANT_WM_USER + 5)
  1559.     Global Const $CBEM_SETITEMW = ($__COMBOBOXCONSTANT_WM_USER + 12)
  1560.     Global Const $CBEM_SETUNICODEFORMAT = 8192 + 5
  1561.     Global Const $CBEM_SETWINDOWTHEME = 8192 + 11
  1562.     Global Const $CBEN_FIRST = (-800)
  1563.     Global Const $CBEN_LAST = (-830)
  1564.     Global Const $CBEN_BEGINEDIT = ($CBEN_FIRST - 4)
  1565.     Global Const $CBEN_DELETEITEM = ($CBEN_FIRST - 2)
  1566.     Global Const $CBEN_DRAGBEGINA = ($CBEN_FIRST - 8)
  1567.     Global Const $CBEN_DRAGBEGINW = ($CBEN_FIRST - 9)
  1568.     Global Const $CBEN_ENDEDITA = ($CBEN_FIRST - 5)
  1569.     Global Const $CBEN_ENDEDITW = ($CBEN_FIRST - 6)
  1570.     Global Const $CBEN_GETDISPINFO = ($CBEN_FIRST - 0)
  1571.     Global Const $CBEN_GETDISPINFOA = ($CBEN_FIRST - 0)
  1572.     Global Const $CBEN_GETDISPINFOW = ($CBEN_FIRST - 7)
  1573.     Global Const $CBEN_INSERTITEM = ($CBEN_FIRST - 1)
  1574.     Global Const $CBEIF_DI_SETITEM = 268435456
  1575.     Global Const $CBEIF_IMAGE = 2
  1576.     Global Const $CBEIF_INDENT = 16
  1577.     Global Const $CBEIF_LPARAM = 32
  1578.     Global Const $CBEIF_OVERLAY = 8
  1579.     Global Const $CBEIF_SELECTEDIMAGE = 4
  1580.     Global Const $CBEIF_TEXT = 1
  1581.     Global Const $__COMBOBOXCONSTANT_WS_VSCROLL = 2097152
  1582.     Global Const $GUI_SS_DEFAULT_COMBO = BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL, $__COMBOBOXCONSTANT_WS_VSCROLL)
  1583.     Global Const $TCS_BOTTOM = 2
  1584.     Global Const $TCS_BUTTONS = 256
  1585.     Global Const $TCS_FIXEDWIDTH = 1024
  1586.     Global Const $TCS_FLATBUTTONS = 8
  1587.     Global Const $TCS_FOCUSNEVER = 32768
  1588.     Global Const $TCS_FOCUSONBUTTONDOWN = 4096
  1589.     Global Const $TCS_FORCEICONLEFT = 16
  1590.     Global Const $TCS_FORCELABELLEFT = 32
  1591.     Global Const $TCS_HOTTRACK = 64
  1592.     Global Const $TCS_MULTILINE = 512
  1593.     Global Const $TCS_MULTISELECT = 4
  1594.     Global Const $TCS_OWNERDRAWFIXED = 8192
  1595.     Global Const $TCS_RAGGEDRIGHT = 2048
  1596.     Global Const $TCS_RIGHT = 2
  1597.     Global Const $TCS_RIGHTJUSTIFY = 0
  1598.     Global Const $TCS_SCROLLOPPOSITE = 1
  1599.     Global Const $TCS_SINGLELINE = 0
  1600.     Global Const $TCS_TABS = 0
  1601.     Global Const $TCS_TOOLTIPS = 16384
  1602.     Global Const $TCS_VERTICAL = 128
  1603.     Global Const $TCS_EX_FLATSEPARATORS = 1
  1604.     Global Const $TCS_EX_REGISTERDROP = 2
  1605.     Global Const $TCHT_NOWHERE = 1
  1606.     Global Const $TCHT_ONITEMICON = 2
  1607.     Global Const $TCHT_ONITEMLABEL = 4
  1608.     Global Const $TCHT_ONITEM = 6
  1609.     Global Const $TCIF_TEXT = 1
  1610.     Global Const $TCIF_IMAGE = 2
  1611.     Global Const $TCIF_RTLREADING = 4
  1612.     Global Const $TCIF_PARAM = 8
  1613.     Global Const $TCIF_STATE = 16
  1614.     Global Const $TCIF_ALLDATA = 27
  1615.     Global Const $TCIS_BUTTONPRESSED = 1
  1616.     Global Const $TCIS_HIGHLIGHTED = 2
  1617.     Global Const $TC_ERR = -1
  1618.     Global Const $GUI_SS_DEFAULT_TAB = 0
  1619.     Global Const $TCM_FIRST = 4864
  1620.     Global Const $TCCM_FIRST = 8192
  1621.     Global Const $TCM_ADJUSTRECT = ($TCM_FIRST + 40)
  1622.     Global Const $TCM_DELETEALLITEMS = ($TCM_FIRST + 9)
  1623.     Global Const $TCM_DELETEITEM = ($TCM_FIRST + 8)
  1624.     Global Const $TCM_DESELECTALL = ($TCM_FIRST + 50)
  1625.     Global Const $TCM_GETCURFOCUS = ($TCM_FIRST + 47)
  1626.     Global Const $TCM_GETCURSEL = ($TCM_FIRST + 11)
  1627.     Global Const $TCM_GETEXTENDEDSTYLE = ($TCM_FIRST + 53)
  1628.     Global Const $TCM_GETIMAGELIST = ($TCM_FIRST + 2)
  1629.     Global Const $TCM_GETITEMA = ($TCM_FIRST + 5)
  1630.     Global Const $TCM_GETITEMW = ($TCM_FIRST + 60)
  1631.     Global Const $TCM_GETITEMCOUNT = ($TCM_FIRST + 4)
  1632.     Global Const $TCM_GETITEMRECT = ($TCM_FIRST + 10)
  1633.     Global Const $TCM_GETROWCOUNT = ($TCM_FIRST + 44)
  1634.     Global Const $TCM_GETTOOLTIPS = ($TCM_FIRST + 45)
  1635.     Global Const $TCCM_GETUNICODEFORMAT = ($TCCM_FIRST + 6)
  1636.     Global Const $TCM_GETUNICODEFORMAT = $TCCM_GETUNICODEFORMAT
  1637.     Global Const $TCM_HIGHLIGHTITEM = ($TCM_FIRST + 51)
  1638.     Global Const $TCM_HITTEST = ($TCM_FIRST + 13)
  1639.     Global Const $TCM_INSERTITEMA = ($TCM_FIRST + 7)
  1640.     Global Const $TCM_INSERTITEMW = ($TCM_FIRST + 62)
  1641.     Global Const $TCM_REMOVEIMAGE = ($TCM_FIRST + 42)
  1642.     Global Const $TCM_SETITEMA = ($TCM_FIRST + 6)
  1643.     Global Const $TCM_SETITEMW = ($TCM_FIRST + 61)
  1644.     Global Const $TCM_SETITEMEXTRA = ($TCM_FIRST + 14)
  1645.     Global Const $TCM_SETITEMSIZE = $TCM_FIRST + 41
  1646.     Global Const $TCM_SETCURFOCUS = ($TCM_FIRST + 48)
  1647.     Global Const $TCM_SETCURSEL = ($TCM_FIRST + 12)
  1648.     Global Const $TCM_SETEXTENDEDSTYLE = ($TCM_FIRST + 52)
  1649.     Global Const $TCM_SETIMAGELIST = $TCM_FIRST + 3
  1650.     Global Const $TCM_SETMINTABWIDTH = ($TCM_FIRST + 49)
  1651.     Global Const $TCM_SETPADDING = ($TCM_FIRST + 43)
  1652.     Global Const $TCM_SETTOOLTIPS = ($TCM_FIRST + 46)
  1653.     Global Const $TCCM_SETUNICODEFORMAT = ($TCCM_FIRST + 5)
  1654.     Global Const $TCM_SETUNICODEFORMAT = $TCCM_SETUNICODEFORMAT
  1655.     Global Const $TCN_FIRST = -550
  1656.     Global Const $TCN_FOCUSCHANGE = ($TCN_FIRST - 4)
  1657.     Global Const $TCN_GETOBJECT = ($TCN_FIRST - 3)
  1658.     Global Const $TCN_KEYDOWN = ($TCN_FIRST - 0)
  1659.     Global Const $TCN_SELCHANGE = ($TCN_FIRST - 1)
  1660.     Global Const $TCN_SELCHANGING = ($TCN_FIRST - 2)
  1661.     Global $TOOLTIPX, $TOOLTIPY
  1662.     Func TT($MESSAGE)
  1663.         ToolTip($MESSAGE, $TOOLTIPX, $TOOLTIPY)
  1664.     EndFunc
  1665.     Global Const $PROCESS_TERMINATE = 1
  1666.     Global Const $PROCESS_CREATE_THREAD = 2
  1667.     Global Const $PROCESS_SET_SESSIONID = 4
  1668.     Global Const $PROCESS_VM_OPERATION = 8
  1669.     Global Const $PROCESS_VM_READ = 16
  1670.     Global Const $PROCESS_VM_WRITE = 32
  1671.     Global Const $PROCESS_DUP_HANDLE = 64
  1672.     Global Const $PROCESS_CREATE_PROCESS = 128
  1673.     Global Const $PROCESS_SET_QUOTA = 256
  1674.     Global Const $PROCESS_SET_INFORMATION = 512
  1675.     Global Const $PROCESS_QUERY_INFORMATION = 1024
  1676.     Global Const $PROCESS_SUSPEND_RESUME = 2048
  1677.     Global Const $PROCESS_ALL_ACCESS = 2035711
  1678.     Func _ProcessGetName($I_PID)
  1679.         If Not ProcessExists($I_PID) Then Return SetError(1, 0, "")
  1680.         If Not @error Then
  1681.             Local $A_PROCESSES = ProcessList()
  1682.             For $I = 1 To $A_PROCESSES[0][0]
  1683.                 If $A_PROCESSES[$I][1] = $I_PID Then Return $A_PROCESSES[$I][0]
  1684.             Next
  1685.         EndIf
  1686.         Return SetError(1, 0, "")
  1687.     EndFunc
  1688.     Func _ProcessGetPriority($VPROCESS)
  1689.         Local $IERROR, $IEXTENDED, $IRETURN = -1
  1690.         Local $I_PID = ProcessExists($VPROCESS)
  1691.         If Not $I_PID Then Return SetError(1, 0, -1)
  1692.         Local $HDLL = DllOpen("kernel32.dll")
  1693.         Do
  1694.             Local $APROCESSHANDLE = DllCall($HDLL, "handle", "OpenProcess", "dword", $PROCESS_QUERY_INFORMATION, "bool", False, "dword", $I_PID)
  1695.             If @error Then
  1696.                 $IERROR = @error
  1697.                 $IEXTENDED = @extended
  1698.                 ExitLoop
  1699.             EndIf
  1700.             If Not $APROCESSHANDLE[0] Then ExitLoop
  1701.             Local $APRIORITY = DllCall($HDLL, "dword", "GetPriorityClass", "handle", $APROCESSHANDLE[0])
  1702.             If @error Then
  1703.                 $IERROR = @error
  1704.                 $IEXTENDED = @extended
  1705.             EndIf
  1706.             DllCall($HDLL, "bool", "CloseHandle", "handle", $APROCESSHANDLE[0])
  1707.             If $IERROR Then ExitLoop
  1708.             Switch $APRIORITY[0]
  1709.                 Case 64
  1710.                     $IRETURN = 0
  1711.                 Case 16384
  1712.                     $IRETURN = 1
  1713.                 Case 32
  1714.                     $IRETURN = 2
  1715.                 Case 32768
  1716.                     $IRETURN = 3
  1717.                 Case 128
  1718.                     $IRETURN = 4
  1719.                 Case 256
  1720.                     $IRETURN = 5
  1721.                 Case Else
  1722.                     $IERROR = 1
  1723.                     $IEXTENDED = $APRIORITY[0]
  1724.                     $IRETURN = -1
  1725.             EndSwitch
  1726.         Until True
  1727.         DllClose($HDLL)
  1728.         Return SetError($IERROR, $IEXTENDED, $IRETURN)
  1729.     EndFunc
  1730.     Func _RunDos($SCOMMAND)
  1731.         Local $NRESULT = RunWait(@ComSpec & " /C " & $SCOMMAND, "", @SW_HIDE)
  1732.         Return SetError(@error, @extended, $NRESULT)
  1733.     EndFunc
  1734.     Func _MEMORYOPEN($IV_PID, $IV_DESIREDACCESS = 2035711, $IV_INHERITHANDLE = 1)
  1735.         If Not ProcessExists($IV_PID) Then
  1736.             SetError(1)
  1737.             Return 0
  1738.         EndIf
  1739.         Local $AH_HANDLE[2] = [DllOpen("kernel32.dll")]
  1740.         If @error Then
  1741.             SetError(2)
  1742.             Return 0
  1743.         EndIf
  1744.         Local $AV_OPENPROCESS = DllCall($AH_HANDLE[0], "int", "OpenProcess", "int", $IV_DESIREDACCESS, "int", $IV_INHERITHANDLE, "int", $IV_PID)
  1745.         If @error Then
  1746.             DllClose($AH_HANDLE[0])
  1747.             SetError(3)
  1748.             Return 0
  1749.         EndIf
  1750.         $AH_HANDLE[1] = $AV_OPENPROCESS[0]
  1751.         Return $AH_HANDLE
  1752.     EndFunc
  1753.     Func _MEMORYWRITE($AHHANDLE, $IVADDRESS, $VDATA, $STYPE = "dword")
  1754.         If Not IsArray($AHHANDLE) Then
  1755.             SetError(1, 0, False)
  1756.         EndIf
  1757.         Local $VWRITEDATA = DllStructCreate($STYPE)
  1758.         Local $VNUMBEROFBYTESWRITTEN = DllStructCreate("ulong_ptr lpNumberOfBytesWritten")
  1759.         DllStructSetData($VWRITEDATA, 1, $VDATA)
  1760.         Local $AHCALL = DllCall($AHHANDLE[0], "bool", "WriteProcessMemory", "handle", $AHHANDLE[1], "dword_ptr", $IVADDRESS, "ptr", DllStructGetPtr($VWRITEDATA), "ulong_ptr", DllStructGetSize($VWRITEDATA), "ptr", DllStructGetPtr($VNUMBEROFBYTESWRITTEN))
  1761.         Return ($AHCALL[0] And (DllStructGetData($VNUMBEROFBYTESWRITTEN, "lpNumberOfBytesWritten") = DllStructGetSize($VWRITEDATA)))
  1762.     EndFunc
  1763.     Func _MEMORYREAD($IV_ADDRESS, $AH_HANDLE, $SV_TYPE = "dword")
  1764.         If Not IsArray($AH_HANDLE) Then
  1765.             SetError(1)
  1766.             Return 0
  1767.         EndIf
  1768.         Local $V_BUFFER = DllStructCreate($SV_TYPE)
  1769.         If @error Then
  1770.             SetError(@error + 1)
  1771.             Return 0
  1772.         EndIf
  1773.         DllCall($AH_HANDLE[0], "int", "ReadProcessMemory", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DllStructGetPtr($V_BUFFER), "int", DllStructGetSize($V_BUFFER), "int", "")
  1774.         If Not @error Then
  1775.             Local $V_VALUE = DllStructGetData($V_BUFFER, 1)
  1776.             Return $V_VALUE
  1777.         Else
  1778.             SetError(6)
  1779.             Return 0
  1780.         EndIf
  1781.     EndFunc
  1782.     Func _MEMORYCLOSE($AH_HANDLE)
  1783.         If Not IsArray($AH_HANDLE) Then
  1784.             SetError(1)
  1785.             Return 0
  1786.         EndIf
  1787.         DllCall($AH_HANDLE[0], "int", "CloseHandle", "int", $AH_HANDLE[1])
  1788.         If Not @error Then
  1789.             DllClose($AH_HANDLE[0])
  1790.             Return 1
  1791.         Else
  1792.             DllClose($AH_HANDLE[0])
  1793.             SetError(2)
  1794.             Return 0
  1795.         EndIf
  1796.     EndFunc
  1797.     Func SETPRIVILEGE($PRIVILEGE, $BENABLE)
  1798.         Const $TOKEN_ADJUST_PRIVILEGES = 32
  1799.         Const $TOKEN_QUERY = 8
  1800.         Const $SE_PRIVILEGE_ENABLED = 2
  1801.         Local $HTOKEN, $SP_AUXRET, $SP_RET, $HCURRPROCESS, $NTOKENS, $NTOKENINDEX, $PRIV
  1802.         $NTOKENS = 1
  1803.         $LUID = DllStructCreate("dword;int")
  1804.         If IsArray($PRIVILEGE) Then $NTOKENS = UBound($PRIVILEGE)
  1805.         $TOKEN_PRIVILEGES = DllStructCreate("dword;dword[" & (3 * $NTOKENS) & "]")
  1806.         $NEWTOKEN_PRIVILEGES = DllStructCreate("dword;dword[" & (3 * $NTOKENS) & "]")
  1807.         $HCURRPROCESS = DllCall("kernel32.dll", "hwnd", "GetCurrentProcess")
  1808.         $SP_AUXRET = DllCall("advapi32.dll", "int", "OpenProcessToken", "hwnd", $HCURRPROCESS[0], "int", BitOR($TOKEN_ADJUST_PRIVILEGES, $TOKEN_QUERY), "int_ptr", 0)
  1809.         If $SP_AUXRET[0] Then
  1810.             $HTOKEN = $SP_AUXRET[3]
  1811.             DllStructSetData($TOKEN_PRIVILEGES, 1, 1)
  1812.             $NTOKENINDEX = 1
  1813.             While $NTOKENINDEX <= $NTOKENS
  1814.                 If IsArray($PRIVILEGE) Then
  1815.                     $PRIV = $PRIVILEGE[$NTOKENINDEX - 1]
  1816.                 Else
  1817.                     $PRIV = $PRIVILEGE
  1818.                 EndIf
  1819.                 $RET = DllCall("advapi32.dll", "int", "LookupPrivilegeValue", "str", "", "str", $PRIV, "ptr", DllStructGetPtr($LUID))
  1820.                 If $RET[0] Then
  1821.                     If $BENABLE Then
  1822.                         DllStructSetData($TOKEN_PRIVILEGES, 2, $SE_PRIVILEGE_ENABLED, (3 * $NTOKENINDEX))
  1823.                     Else
  1824.                         DllStructSetData($TOKEN_PRIVILEGES, 2, 0, (3 * $NTOKENINDEX))
  1825.                     EndIf
  1826.                     DllStructSetData($TOKEN_PRIVILEGES, 2, DllStructGetData($LUID, 1), (3 * ($NTOKENINDEX - 1)) + 1)
  1827.                     DllStructSetData($TOKEN_PRIVILEGES, 2, DllStructGetData($LUID, 2), (3 * ($NTOKENINDEX - 1)) + 2)
  1828.                     DllStructSetData($LUID, 1, 0)
  1829.                     DllStructSetData($LUID, 2, 0)
  1830.                 EndIf
  1831.                 $NTOKENINDEX += 1
  1832.             WEnd
  1833.             $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)
  1834.             $F = DllCall("kernel32.dll", "int", "GetLastError")
  1835.         EndIf
  1836.         $NEWTOKEN_PRIVILEGES = 0
  1837.         $TOKEN_PRIVILEGES = 0
  1838.         $LUID = 0
  1839.         If $SP_AUXRET[0] = 0 Then Return 0
  1840.         $SP_AUXRET = DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $HTOKEN)
  1841.         If Not $RET[0] And Not $SP_AUXRET[0] Then Return 0
  1842.         Return $RET[0]
  1843.     EndFunc
  1844.     Func _MEMORYPOINTERREAD($IV_ADDRESS, $AH_HANDLE, $AV_OFFSET, $SV_TYPE = "dword")
  1845.         If IsArray($AV_OFFSET) Then
  1846.             If IsArray($AH_HANDLE) Then
  1847.                 Local $IV_POINTERCOUNT = UBound($AV_OFFSET) - 1
  1848.             Else
  1849.                 SetError(2)
  1850.                 Return 0
  1851.             EndIf
  1852.         Else
  1853.             SetError(1)
  1854.             Return 0
  1855.         EndIf
  1856.         Local $IV_DATA[2], $I
  1857.         Local $V_BUFFER = DllStructCreate("dword")
  1858.         For $I = 0 To $IV_POINTERCOUNT
  1859.             If $I = $IV_POINTERCOUNT Then
  1860.                 $V_BUFFER = DllStructCreate($SV_TYPE)
  1861.                 If @error Then
  1862.                     SetError(@error + 2)
  1863.                     Return 0
  1864.                 EndIf
  1865.                 $IV_ADDRESS = "0x" & Hex($IV_DATA[1] + $AV_OFFSET[$I])
  1866.                 DllCall($AH_HANDLE[0], "int", "ReadProcessMemory", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DllStructGetPtr($V_BUFFER), "int", DllStructGetSize($V_BUFFER), "int", "")
  1867.                 If @error Then
  1868.                     SetError(7)
  1869.                     Return 0
  1870.                 EndIf
  1871.                 $IV_DATA[1] = DllStructGetData($V_BUFFER, 1)
  1872.             ElseIf $I = 0 Then
  1873.                 DllCall($AH_HANDLE[0], "int", "ReadProcessMemory", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DllStructGetPtr($V_BUFFER), "int", DllStructGetSize($V_BUFFER), "int", "")
  1874.                 If @error Then
  1875.                     SetError(7)
  1876.                     Return 0
  1877.                 EndIf
  1878.                 $IV_DATA[1] = DllStructGetData($V_BUFFER, 1)
  1879.             Else
  1880.                 $IV_ADDRESS = "0x" & Hex($IV_DATA[1] + $AV_OFFSET[$I])
  1881.                 DllCall($AH_HANDLE[0], "int", "ReadProcessMemory", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DllStructGetPtr($V_BUFFER), "int", DllStructGetSize($V_BUFFER), "int", "")
  1882.                 If @error Then
  1883.                     SetError(7)
  1884.                     Return 0
  1885.                 EndIf
  1886.                 $IV_DATA[1] = DllStructGetData($V_BUFFER, 1)
  1887.             EndIf
  1888.         Next
  1889.         $IV_DATA[0] = $IV_ADDRESS
  1890.         Return $IV_DATA
  1891.     EndFunc
  1892.     Func _MEMORYGETBASEADDRESS($AH_HANDLE, $IHEXDEC = 0, $IV_ADDRESS = 1048576)
  1893.         Local $V_BUFFER = DllStructCreate("dword;dword;dword;dword;dword;dword;dword")
  1894.         Local $VDATA
  1895.         Local $VTYPE
  1896.         If Not IsArray($AH_HANDLE) Then
  1897.             SetError(1)
  1898.             Return 0
  1899.         EndIf
  1900.         DllCall($AH_HANDLE[0], "int", "VirtualQueryEx", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DllStructGetPtr($V_BUFFER), "int", DllStructGetSize($V_BUFFER))
  1901.         If Not @error Then
  1902.             $VDATA = Hex(DllStructGetData($V_BUFFER, 2))
  1903.             $VTYPE = Hex(DllStructGetData($V_BUFFER, 3))
  1904.             While $VTYPE <> "00000080"
  1905.                 DllCall($AH_HANDLE[0], "int", "VirtualQueryEx", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DllStructGetPtr($V_BUFFER), "int", DllStructGetSize($V_BUFFER))
  1906.                 $VDATA = Hex(DllStructGetData($V_BUFFER, 2))
  1907.                 $VTYPE = Hex(DllStructGetData($V_BUFFER, 3))
  1908.                 If Hex($IV_ADDRESS) = "90000000" Then ExitLoop
  1909.                 $IV_ADDRESS += 65536
  1910.             WEnd
  1911.             If $VTYPE = "00000080" Then
  1912.                 SetError(0)
  1913.                 If $IHEXDEC = 1 Then
  1914.                     Return Dec($VDATA)
  1915.                 Else
  1916.                     Return $VDATA
  1917.                 EndIf
  1918.             Else
  1919.                 SetError(2)
  1920.                 Return 0
  1921.             EndIf
  1922.         Else
  1923.             SetError(3)
  1924.             Return 0
  1925.         EndIf
  1926.     EndFunc
  1927.     Func _MEMORYMODULEGETBASEADDRESS($IPID, $SMODULE)
  1928.         If Not ProcessExists($IPID) Then Return SetError(1, 0, 0)
  1929.         If Not IsString($SMODULE) Then Return SetError(2, 0, 0)
  1930.         Local $PSAPI = DllOpen("psapi.dll")
  1931.         Local $HPROCESS
  1932.         Local $PERMISSION = BitOR(2, 1024, 8, 16, 32)
  1933.         If $IPID > 0 Then
  1934.             Local $HPROCESS = DllCall("kernel32.dll", "ptr", "OpenProcess", "dword", $PERMISSION, "int", 0, "dword", $IPID)
  1935.             If $HPROCESS[0] Then
  1936.                 $HPROCESS = $HPROCESS[0]
  1937.             EndIf
  1938.         EndIf
  1939.         Local $MODULES = DllStructCreate("ptr[1024]")
  1940.         Local $ACALL = DllCall($PSAPI, "int", "EnumProcessModules", "ptr", $HPROCESS, "ptr", DllStructGetPtr($MODULES), "dword", DllStructGetSize($MODULES), "dword*", 0)
  1941.         If $ACALL[4] > 0 Then
  1942.             Local $IMODNUM = $ACALL[4] / 4
  1943.             Local $ATEMP
  1944.             For $I = 1 To $IMODNUM
  1945.                 $ATEMP = DllCall($PSAPI, "dword", "GetModuleBaseNameW", "ptr", $HPROCESS, "ptr", Ptr(DllStructGetData($MODULES, 1, $I)), "wstr", "", "dword", 260)
  1946.                 If $ATEMP[3] = $SMODULE Then
  1947.                     DllClose($PSAPI)
  1948.                     Return Ptr(DllStructGetData($MODULES, 1, $I))
  1949.                 EndIf
  1950.             Next
  1951.         EndIf
  1952.         DllClose($PSAPI)
  1953.         Return SetError(-1, 0, 0)
  1954.     EndFunc
  1955.     Func MEMORYGETBASEADDRESS($AH_HANDLE, $IHEXDEC = 0)
  1956.         Local $IV_ADDRESS = 1048576
  1957.         Local $V_BUFFER = DllStructCreate("dword;dword;dword;dword;dword;dword;dword")
  1958.         Local $VDATA
  1959.         Local $VTYPE
  1960.         If Not IsArray($AH_HANDLE) Then
  1961.             SetError(1)
  1962.             Return 0
  1963.         EndIf
  1964.         DllCall($AH_HANDLE[0], "int", "VirtualQueryEx", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DllStructGetPtr($V_BUFFER), "int", DllStructGetSize($V_BUFFER))
  1965.         If Not @error Then
  1966.             $VDATA = Hex(DllStructGetData($V_BUFFER, 2))
  1967.             $VTYPE = Hex(DllStructGetData($V_BUFFER, 3))
  1968.             While $VTYPE <> "00000080"
  1969.                 DllCall($AH_HANDLE[0], "int", "VirtualQueryEx", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DllStructGetPtr($V_BUFFER), "int", DllStructGetSize($V_BUFFER))
  1970.                 $VDATA = Hex(DllStructGetData($V_BUFFER, 2))
  1971.                 $VTYPE = Hex(DllStructGetData($V_BUFFER, 3))
  1972.                 If Hex($IV_ADDRESS) = "01000000" Then ExitLoop
  1973.                 $IV_ADDRESS += 65536
  1974.             WEnd
  1975.             If $VTYPE = "00000080" Then
  1976.                 SetError(0)
  1977.                 If $IHEXDEC = 1 Then
  1978.                     Return Dec($VDATA)
  1979.                 Else
  1980.                     Return $VDATA
  1981.                 EndIf
  1982.             Else
  1983.                 SetError(2)
  1984.                 Return 0
  1985.             EndIf
  1986.         Else
  1987.             SetError(3)
  1988.             Return 0
  1989.         EndIf
  1990.     EndFunc
  1991. #endregion includes
  1992. Global $MYTIMER = TimerInit()
  1993. Global $CURWINDOW
  1994. Global $PID
  1995. Global $OPENMEM
  1996. Global $BASEADDR = 0
  1997. Global $HACKSTATUS = -1
  1998. Global $STATICOFFSET = Dec("00FCFE04")
  1999. #region ### START Koda GUI section ### Form=
  2000.     $FORM1 = GUICreate("Unlimited Dodge Hack", 336, 122, 192, 124)
  2001.     $LABEL1 = GUICtrlCreateLabel("Free Dodge Hack - Allows you to dodge regardless of your stamina.", 8, 16, 321, 17)
  2002.     $LABEL2 = GUICtrlCreateLabel("Hack Status: ", 40, 56, 69, 17)
  2003.     $BUTTON_ABOUT = GUICtrlCreateButton("About", 240, 88, 75, 25, $WS_GROUP)
  2004.     $BUTTON_TOGGLE = GUICtrlCreateButton("Toggle Hack", 136, 88, 75, 25, $WS_GROUP)
  2005.     $LABEL_STATUS = GUICtrlCreateLabel("Off", 120, 56, 18, 17)
  2006.     GUICtrlSetColor($LABEL_STATUS, 16711680)
  2007.     $BUTTON_ATTACH = GUICtrlCreateButton("Attach", 32, 88, 75, 25, $WS_GROUP)
  2008.     GUISetState(@SW_SHOW)
  2009. #endregion ### END Koda GUI section ###
  2010. Func WRITESTAMINA()
  2011.     $CHECK = TimerDiff($MYTIMER)
  2012.     If ($CHECK > 100) Then
  2013.         $STAMINA = _MEMORYREAD("0x" & Hex($BASEADDR + $STATICOFFSET), $OPENMEM, "int")
  2014.         $STAMINA = _MEMORYREAD($STAMINA + Dec("C"), $OPENMEM, "int")
  2015.         $STAMINA = _MEMORYREAD($STAMINA + Dec("50"), $OPENMEM, "int")
  2016.         _MEMORYWRITE($OPENMEM, $STAMINA + Dec("218"), 120, "int")
  2017.         $MYTIMER = TimerInit()
  2018.     EndIf
  2019. EndFunc
  2020. While 1
  2021.     $NMSG = GUIGetMsg()
  2022.     Switch $NMSG
  2023.         Case $GUI_EVENT_CLOSE
  2024.             Exit
  2025.         Case $FORM1
  2026.         Case $FORM1
  2027.         Case $FORM1
  2028.         Case $FORM1
  2029.         Case $LABEL1
  2030.         Case $LABEL2
  2031.         Case $BUTTON_ABOUT
  2032.             MsgBox(0, "About", "Author: Pinny@Ownedcore" & @CRLF & "GangstaliciousJpres@ElitePVPERS" & @CRLF & "Donations/Questions?" & @CRLF & "Gangstaliciousbot@gmail.com")
  2033.         Case $BUTTON_TOGGLE
  2034.             If ($HACKSTATUS = 0) Then
  2035.                 $HACKSTATUS = 1
  2036.                 MsgBox(0, "Enabled", "Hack Enabled")
  2037.                 GUICtrlSetData($LABEL_STATUS, "On")
  2038.                 GUICtrlSetColor($LABEL_STATUS, 65280)
  2039.             ElseIf ($HACKSTATUS = 1) Then
  2040.                 $HACKSTATUS = 0
  2041.                 MsgBox(0, "Disabled", "Hack Disabled")
  2042.                 GUICtrlSetData($LABEL_STATUS, "Off")
  2043.                 GUICtrlSetColor($LABEL_STATUS, 16711680)
  2044.             ElseIf ($HACKSTATUS = -1) Then
  2045.                 MsgBox(0, "Error", "You must hit the attach button before trying to toggle the hack. Make sure your game is open before you try to attach.")
  2046.             EndIf
  2047.         Case $LABEL_STATUS
  2048.         Case $BUTTON_ATTACH
  2049.             If ($BASEADDR > 0) Then
  2050.                 MsgBox(4096, "Notice", "Hack is already attached to a process. You don't need to attach it more than once.")
  2051.             EndIf
  2052.             $CURWINDOW = WinGetTitle("Elder Scrolls Online")
  2053.             $PID = WinGetProcess($CURWINDOW)
  2054.             $OPENMEM = _MEMORYOPEN($PID)
  2055.             $BASEADDR = _MEMORYMODULEGETBASEADDRESS($PID, "eso.exe")
  2056.             If ($BASEADDR > 0) Then
  2057.                 MsgBox(0, "Attached", "Hack Attached")
  2058.                 $HACKSTATUS = 0
  2059.             Else
  2060.                 MsgBox(4096, "Failure", "Failed to attach to the game. Is TESO running?")
  2061.             EndIf
  2062.     EndSwitch
  2063.     If ($HACKSTATUS = 1) Then
  2064.         WRITESTAMINA()
  2065.     EndIf
  2066. WEnd
  2067. ; DeTokenise by myAut2Exe >The Open Source AutoIT/AutoHotKey script decompiler< 2.12 build(197)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement