首页
社区
课程
招聘
[求助][求助]Autoit 3.3.6.1 反编译 急求大家帮忙。。。
发表于: 2011-7-1 13:58 10193

[求助][求助]Autoit 3.3.6.1 反编译 急求大家帮忙。。。

2011-7-1 13:58
10193
这是Autoit 3.3.6.1做的小东东,我在论坛里看了好几篇贴子,就是搞不定,请大家帮忙看看,先谢谢了。。

       EZXGUI.rar

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (14)
雪    币: 213
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
谁能给个详细的教程学习一下,在论坛里看了好多贴子,还是不行,是不是太笨了。。。
2011-7-1 14:38
0
雪    币: 213
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
等待牛牛出现。。。。
2011-7-2 12:18
0
雪    币: 213
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
为什么我只能取出这些代码,是哪里不对,请明白人提醒一下,谢谢。
GLOBAL
CONST
CLIP_LH_ANGLES
GLOBAL
CONST
CLIP_MASK
GLOBAL
CONST
CLIP_STROKE_PRECIS
GLOBAL
CONST
CLIP_TT_ALWAYS
GLOBAL
CONST
ANTIALIASED_QUALITY
GLOBAL
CONST
DEFAULT_QUALITY
GLOBAL
CONST
DRAFT_QUALITY
GLOBAL
CONST
NONANTIALIASED_QUALITY
GLOBAL
CONST
PROOF_QUALITY
GLOBAL
CONST
DEFAULT_PITCH
GLOBAL
CONST
FIXED_PITCH
GLOBAL
CONST
VARIABLE_PITCH
GLOBAL
CONST
FF_DECORATIVE
GLOBAL
CONST
FF_DONTCARE
GLOBAL
CONST
FF_MODERN
GLOBAL
CONST
FF_ROMAN
GLOBAL
CONST
FF_SCRIPT
GLOBAL
CONST
FF_SWISS
GLOBAL
CONST
TAGPOINT
long X;long Y
GLOBAL
CONST
TAGRECT
long Left;long Top;long Right;long Bottom
GLOBAL
CONST
TAGSIZE
long X;long Y
GLOBAL
CONST
TAGMARGINS
int cxLeftWidth;int cxRightWidth;int cyTopHeight;int cyBottomHeight
GLOBAL
CONST
TAGFILETIME
dword Lo;dword Hi
GLOBAL
CONST
TAGSYSTEMTIME
word Year;word Month;word Dow;word Day;word Hour;word Minute;word Second;word MSeconds
GLOBAL
CONST
TAGTIME_ZONE_INFORMATION
long Bias;wchar StdName[32];word StdDate[8];long StdBias;wchar DayName[32];word DayDate[8];long DayBias
GLOBAL
CONST
TAGNMHDR
hwnd hWndFrom;uint_ptr IDFrom;INT Code
GLOBAL
CONST
TAGCOMBOBOXEXITEM
uint Mask;int_ptr Item;ptr Text;int TextMax;int Image;int SelectedImage;int OverlayImage;
int Indent;lparam Param
GLOBAL
CONST
TAGNMCBEDRAGBEGIN
TAGNMHDR
;int ItemID;ptr szText
GLOBAL
CONST
TAGNMCBEENDEDIT
TAGNMHDR
;bool fChanged;int NewSelection;ptr szText;int Why
GLOBAL
CONST
TAGNMCOMBOBOXEX
TAGNMHDR
;uint Mask;int_ptr Item;ptr Text;int TextMax;int Image;
int SelectedImage;int OverlayImage;int Indent;lparam Param
GLOBAL
2011-7-2 23:53
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
5
浮云啊,浮云~~~~~~~~~~
2011-7-3 00:02
0
雪    币: 213
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
好的,我试一下,先谢谢时晴兄。。。
2011-7-3 00:10
0
雪    币: 213
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
牛牛们,还没有得到完整代码哦,请再给点力吧。。
2011-7-3 08:10
0
雪    币: 526
活跃值: (106)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
8
把程序拖到softsnoop2011里面看一下

下面仅供参考

GLOBAL CONST $PROCESS_TERMINATE = 1
GLOBAL CONST $PROCESS_CREATE_THREAD = 2
GLOBAL CONST $PROCESS_SET_SESSIONID = 4
GLOBAL CONST $PROCESS_VM_OPERATION = 8
GLOBAL CONST $PROCESS_VM_READ = 16
GLOBAL CONST $PROCESS_VM_WRITE = 32
GLOBAL CONST $PROCESS_DUP_HANDLE = 64
GLOBAL CONST $PROCESS_CREATE_PROCESS = 128
GLOBAL CONST $PROCESS_SET_QUOTA = 256
GLOBAL CONST $PROCESS_SET_INFORMATION = 512
GLOBAL CONST $PROCESS_QUERY_INFORMATION = 1024
GLOBAL CONST $PROCESS_SUSPEND_RESUME = 2048
GLOBAL CONST $PROCESS_ALL_ACCESS = 2035711
GLOBAL CONST $FC_NOOVERWRITE = 0
GLOBAL CONST $FC_OVERWRITE = 1
GLOBAL CONST $FT_MODIFIED = 0
GLOBAL CONST $FT_CREATED = 1
GLOBAL CONST $FT_ACCESSED = 2
GLOBAL CONST $FO_READ = 0
GLOBAL CONST $FO_APPEND = 1
GLOBAL CONST $FO_OVERWRITE = 2
GLOBAL CONST $FO_BINARY = 16
GLOBAL CONST $FO_UNICODE = 32
GLOBAL CONST $FO_UTF16_LE = 32
GLOBAL CONST $FO_UTF16_BE = 64
GLOBAL CONST $FO_UTF8 = 128
GLOBAL CONST $FO_UTF8_NOBOM = 256
GLOBAL CONST $EOF = - 1
GLOBAL CONST $FD_FILEMUSTEXIST = 1
GLOBAL CONST $FD_PATHMUSTEXIST = 2
GLOBAL CONST $FD_MULTISELECT = 4
GLOBAL CONST $FD_PROMPTCREATENEW = 8
GLOBAL CONST $FD_PROMPTOVERWRITE = 16
GLOBAL CONST $CREATE_NEW = 1
GLOBAL CONST $CREATE_ALWAYS = 2
GLOBAL CONST $OPEN_EXISTING = 3
GLOBAL CONST $OPEN_ALWAYS = 4
GLOBAL CONST $TRUNCATE_EXISTING = 5
GLOBAL CONST $INVALID_SET_FILE_POINTER = - 1
GLOBAL CONST $FILE_BEGIN = 0
GLOBAL CONST $FILE_CURRENT = 1
GLOBAL CONST $FILE_END = 2
GLOBAL CONST $FILE_ATTRIBUTE_READONLY = 1
GLOBAL CONST $FILE_ATTRIBUTE_HIDDEN = 2
GLOBAL CONST $FILE_ATTRIBUTE_SYSTEM = 4
GLOBAL CONST $FILE_ATTRIBUTE_DIRECTORY = 16
GLOBAL CONST $FILE_ATTRIBUTE_ARCHIVE = 32
GLOBAL CONST $FILE_ATTRIBUTE_DEVICE = 64
GLOBAL CONST $FILE_ATTRIBUTE_NORMAL = 128
GLOBAL CONST $FILE_ATTRIBUTE_TEMPORARY = 256
GLOBAL CONST $FILE_ATTRIBUTE_SPARSE_FILE = 512
GLOBAL CONST $FILE_ATTRIBUTE_REPARSE_POINT = 1024
GLOBAL CONST $FILE_ATTRIBUTE_COMPRESSED = 2048
GLOBAL CONST $FILE_ATTRIBUTE_OFFLINE = 4096
GLOBAL CONST $FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 8192
GLOBAL CONST $FILE_ATTRIBUTE_ENCRYPTED = 16384
GLOBAL CONST $FILE_SHARE_READ = 1
GLOBAL CONST $FILE_SHARE_WRITE = 2
GLOBAL CONST $FILE_SHARE_DELETE = 4
GLOBAL CONST $GENERIC_ALL = 268435456
GLOBAL CONST $GENERIC_EXECUTE = 536870912
GLOBAL CONST $GENERIC_WRITE = 1073741824
GLOBAL CONST $GENERIC_READ = -2147483648
GLOBAL CONST $DDL_ARCHIVE = 32
GLOBAL CONST $DDL_DIRECTORY = 16
GLOBAL CONST $DDL_DRIVES = 16384
GLOBAL CONST $DDL_EXCLUSIVE = 32768
GLOBAL CONST $DDL_HIDDEN = 2
GLOBAL CONST $DDL_READONLY = 1
GLOBAL CONST $DDL_READWRITE = 0
GLOBAL CONST $DDL_SYSTEM = 4
GLOBAL CONST $COLOR_AQUA = 65535
GLOBAL CONST $COLOR_BLACK = 0
GLOBAL CONST $COLOR_BLUE = 255
GLOBAL CONST $COLOR_CREAM = 16776176
GLOBAL CONST $COLOR_FUCHSIA = 16711935
GLOBAL CONST $COLOR_GRAY = 8421504
GLOBAL CONST $COLOR_GREEN = 32768
GLOBAL CONST $COLOR_LIME = 65280
GLOBAL CONST $COLOR_MAROON = 9116770
GLOBAL CONST $COLOR_MEDBLUE = 708
GLOBAL CONST $COLOR_MEDGRAY = 10526884
GLOBAL CONST $COLOR_MONEYGREEN = 12639424
GLOBAL CONST $COLOR_NAVY = 128
GLOBAL CONST $COLOR_OLIVE = 8421376
GLOBAL CONST $COLOR_PURPLE = 8388736
GLOBAL CONST $COLOR_RED = 16711680
GLOBAL CONST $COLOR_SILVER = 12632256
GLOBAL CONST $COLOR_SKYBLUE = 10930928
GLOBAL CONST $COLOR_TEAL = 32896
GLOBAL CONST $COLOR_WHITE = 16777215
GLOBAL CONST $COLOR_YELLOW = 16776960
GLOBAL CONST $CLR_NONE = -1
GLOBAL CONST $CLR_DEFAULT = -16777216
GLOBAL CONST $CLR_AQUA = 16776960
GLOBAL CONST $CLR_BLACK = 0
GLOBAL CONST $CLR_BLUE = 16711680
GLOBAL CONST $CLR_CREAM = 15793151
GLOBAL CONST $CLR_FUCHSIA = 16711935
GLOBAL CONST $CLR_GRAY = 8421504
GLOBAL CONST $CLR_GREEN = 32768
GLOBAL CONST $CLR_LIME = 65280
GLOBAL CONST $CLR_MAROON = 6429835
GLOBAL CONST $CLR_MEDBLUE = 12845568
GLOBAL CONST $CLR_MEDGRAY = 10789024
GLOBAL CONST $CLR_MONEYGREEN = 12639424
GLOBAL CONST $CLR_NAVY = 8388608
GLOBAL CONST $CLR_OLIVE = 32896
GLOBAL CONST $CLR_PURPLE = 8388736
GLOBAL CONST $CLR_RED = 255
GLOBAL CONST $CLR_SILVER = 12632256
GLOBAL CONST $CLR_SKYBLUE = 15780518
GLOBAL CONST $CLR_TEAL = 8421376
GLOBAL CONST $CLR_WHITE = 16777215
GLOBAL CONST $CLR_YELLOW = 65535
GLOBAL CONST $CC_ANYCOLOR = 256
GLOBAL CONST $CC_FULLOPEN = 2
GLOBAL CONST $CC_RGBINIT = 1
GLOBAL CONST $OPT_COORDSRELATIVE = 0
GLOBAL CONST $OPT_COORDSABSOLUTE = 1
GLOBAL CONST $OPT_COORDSCLIENT = 2
GLOBAL CONST $OPT_ERRORSILENT = 0
GLOBAL CONST $OPT_ERRORFATAL = 1
GLOBAL CONST $OPT_CAPSNOSTORE = 0
GLOBAL CONST $OPT_CAPSSTORE = 1
GLOBAL CONST $OPT_MATCHSTART = 1
GLOBAL CONST $OPT_MATCHANY = 2
GLOBAL CONST $OPT_MATCHEXACT = 3
GLOBAL CONST $OPT_MATCHADVANCED = 4
GLOBAL CONST $CCS_TOP = 1
GLOBAL CONST $CCS_NOMOVEY = 2
GLOBAL CONST $CCS_BOTTOM = 3
GLOBAL CONST $CCS_NORESIZE = 4
GLOBAL CONST $CCS_NOPARENTALIGN = 8
GLOBAL CONST $CCS_NOHILITE = 16
GLOBAL CONST $CCS_ADJUSTABLE = 32
GLOBAL CONST $CCS_NODIVIDER = 64
GLOBAL CONST $CCS_VERT = 128
GLOBAL CONST $CCS_LEFT = 129
GLOBAL CONST $CCS_NOMOVEX = 130
GLOBAL CONST $CCS_RIGHT = 131
GLOBAL CONST $DI_MASK = 1
GLOBAL CONST $DI_IMAGE = 2
GLOBAL CONST $DI_NORMAL = 3
GLOBAL CONST $DI_COMPAT = 4
GLOBAL CONST $DI_DEFAULTSIZE = 8
GLOBAL CONST $DI_NOMIRROR = 16
GLOBAL CONST $DISPLAY_DEVICE_ATTACHED_TO_DESKTOP = 1
GLOBAL CONST $DISPLAY_DEVICE_MULTI_DRIVER = 2
GLOBAL CONST $DISPLAY_DEVICE_PRIMARY_DEVICE = 4
GLOBAL CONST $DISPLAY_DEVICE_MIRRORING_DRIVER = 8
GLOBAL CONST $DISPLAY_DEVICE_VGA_COMPATIBLE = 16
GLOBAL CONST $DISPLAY_DEVICE_REMOVABLE = 32
GLOBAL CONST $DISPLAY_DEVICE_DISCONNECT = 33554432
GLOBAL CONST $DISPLAY_DEVICE_REMOTE = 67108864
GLOBAL CONST $DISPLAY_DEVICE_MODESPRUNED = 134217728
GLOBAL CONST $FLASHW_CAPTION = 1
GLOBAL CONST $FLASHW_TRAY = 2
GLOBAL CONST $FLASHW_TIMER = 4
GLOBAL CONST $FLASHW_TIMERNOFG = 12
GLOBAL CONST $FORMAT_MESSAGE_ALLOCATE_BUFFER = 256
GLOBAL CONST $FORMAT_MESSAGE_IGNORE_INSERTS = 512
GLOBAL CONST $FORMAT_MESSAGE_FROM_STRING = 1024
GLOBAL CONST $FORMAT_MESSAGE_FROM_HMODULE = 2048
GLOBAL CONST $FORMAT_MESSAGE_FROM_SYSTEM = 4096
GLOBAL CONST $FORMAT_MESSAGE_ARGUMENT_ARRAY = 8192
GLOBAL CONST $GW_HWNDFIRST = 0
GLOBAL CONST $GW_HWNDLAST = 1
GLOBAL CONST $GW_HWNDNEXT = 2
GLOBAL CONST $GW_HWNDPREV = 3
GLOBAL CONST $GW_OWNER = 4
GLOBAL CONST $GW_CHILD = 5
GLOBAL CONST $GWL_WNDPROC = -4
GLOBAL CONST $GWL_HINSTANCE = -6
GLOBAL CONST $GWL_HWNDPARENT = -8
GLOBAL CONST $GWL_ID = -12
GLOBAL CONST $GWL_STYLE = -16
GLOBAL CONST $GWL_EXSTYLE = -20
GLOBAL CONST $GWL_USERDATA = -21
GLOBAL CONST $STD_CUT = 0
GLOBAL CONST $STD_COPY = 1
GLOBAL CONST $STD_PASTE = 2
GLOBAL CONST $STD_UNDO = 3
GLOBAL CONST $STD_REDOW = 4
GLOBAL CONST $STD_DELETE = 5
GLOBAL CONST $STD_FILENEW = 6
GLOBAL CONST $STD_FILEOPEN = 7
GLOBAL CONST $STD_FILESAVE = 8
GLOBAL CONST $STD_PRINTPRE = 9
GLOBAL CONST $STD_PROPERTIES = 10
GLOBAL CONST $STD_HELP = 11
GLOBAL CONST $STD_FIND = 12
GLOBAL CONST $STD_REPLACE = 13
GLOBAL CONST $STD_PRINT = 14
GLOBAL CONST $LR_DEFAULTCOLOR = 0
GLOBAL CONST $LR_MONOCHROME = 1
GLOBAL CONST $LR_COLOR = 2
GLOBAL CONST $LR_COPYRETURNORG = 4
GLOBAL CONST $LR_COPYDELETEORG = 8
GLOBAL CONST $LR_LOADFROMFILE = 16
GLOBAL CONST $LR_LOADTRANSPARENT = 32
GLOBAL CONST $LR_DEFAULTSIZE = 64
GLOBAL CONST $LR_VGACOLOR = 128
GLOBAL CONST $LR_LOADMAP3DCOLORS = 4096
GLOBAL CONST $LR_CREATEDIBSECTION = 8192
GLOBAL CONST $LR_COPYFROMRESOURCE = 16384
GLOBAL CONST $LR_SHARED = 32768
GLOBAL CONST $IMAGE_BITMAP = 0
GLOBAL CONST $IMAGE_ICON = 1
GLOBAL CONST $IMAGE_CURSOR = 2
GLOBAL CONST $KB_SENDSPECIAL = 0
GLOBAL CONST $KB_SENDRAW = 1
GLOBAL CONST $KB_CAPSOFF = 0
GLOBAL CONST $KB_CAPSON = 1
GLOBAL CONST $DONT_RESOLVE_DLL_REFERENCES = 1
GLOBAL CONST $LOAD_LIBRARY_AS_DATAFILE = 2
GLOBAL CONST $LOAD_WITH_ALTERED_SEARCH_PATH = 8
GLOBAL CONST $OBJID_WINDOW = 0
GLOBAL CONST $OBJID_TITLEBAR = -2
GLOBAL CONST $OBJID_SIZEGRIP = -7
GLOBAL CONST $OBJID_CARET = -8
GLOBAL CONST $OBJID_CURSOR = -9
GLOBAL CONST $OBJID_ALERT = -10
GLOBAL CONST $OBJID_SOUND = -11
GLOBAL CONST $VK_DOWN = 40
GLOBAL CONST $VK_END = 35
GLOBAL CONST $VK_HOME = 36
GLOBAL CONST $VK_LEFT = 37
GLOBAL CONST $VK_NEXT = 34
GLOBAL CONST $VK_PRIOR = 33
GLOBAL CONST $VK_RIGHT = 39
GLOBAL CONST $VK_UP = 38
GLOBAL CONST $MB_OK = 0
GLOBAL CONST $MB_OKCANCEL = 1
GLOBAL CONST $MB_ABORTRETRYIGNORE = 2
GLOBAL CONST $MB_YESNOCANCEL = 3
GLOBAL CONST $MB_YESNO = 4
GLOBAL CONST $MB_RETRYCANCEL = 5
GLOBAL CONST $MB_ICONHAND = 16
GLOBAL CONST $MB_ICONQUESTION = 32
GLOBAL CONST $MB_ICONEXCLAMATION = 48
GLOBAL CONST $MB_ICONASTERISK = 64
GLOBAL CONST $MB_DEFBUTTON1 = 0
GLOBAL CONST $MB_DEFBUTTON2 = 256
GLOBAL CONST $MB_DEFBUTTON3 = 512
GLOBAL CONST $MB_APPLMODAL = 0
GLOBAL CONST $MB_SYSTEMMODAL = 4096
GLOBAL CONST $MB_TASKMODAL = 8192
GLOBAL CONST $MB_TOPMOST = 262144
GLOBAL CONST $MB_RIGHTJUSTIFIED = 524288
GLOBAL CONST $IDTIMEOUT = - 1
GLOBAL CONST $IDOK = 1
GLOBAL CONST $IDCANCEL = 2
GLOBAL CONST $IDABORT = 3
GLOBAL CONST $IDRETRY = 4
GLOBAL CONST $IDIGNORE = 5
GLOBAL CONST $IDYES = 6
GLOBAL CONST $IDNO = 7
GLOBAL CONST $IDTRYAGAIN = 10
GLOBAL CONST $IDCONTINUE = 11
GLOBAL CONST $DLG_NOTITLE = 1
GLOBAL CONST $DLG_NOTONTOP = 2
GLOBAL CONST $DLG_TEXTLEFT = 4
GLOBAL CONST $DLG_TEXTRIGHT = 8
GLOBAL CONST $DLG_MOVEABLE = 16
GLOBAL CONST $DLG_TEXTVCENTER = 32
GLOBAL CONST $TIP_ICONNONE = 0
GLOBAL CONST $TIP_ICONASTERISK = 1
GLOBAL CONST $TIP_ICONEXCLAMATION = 2
GLOBAL CONST $TIP_ICONHAND = 3
GLOBAL CONST $TIP_NOSOUND = 16
GLOBAL CONST $IDC_UNKNOWN = 0
GLOBAL CONST $IDC_APPSTARTING = 1
GLOBAL CONST $IDC_ARROW = 2
GLOBAL CONST $IDC_CROSS = 3
GLOBAL CONST $IDC_HAND = 32649
GLOBAL CONST $IDC_HELP = 4
GLOBAL CONST $IDC_IBEAM = 5
GLOBAL CONST $IDC_ICON = 6
GLOBAL CONST $IDC_NO = 7
GLOBAL CONST $IDC_SIZE = 8
GLOBAL CONST $IDC_SIZEALL = 9
GLOBAL CONST $IDC_SIZENESW = 10
GLOBAL CONST $IDC_SIZENS = 11
GLOBAL CONST $IDC_SIZENWSE = 12
GLOBAL CONST $IDC_SIZEWE = 13
GLOBAL CONST $IDC_UPARROW = 14
GLOBAL CONST $IDC_WAIT = 15
GLOBAL CONST $IDI_APPLICATION = 32512
GLOBAL CONST $IDI_ASTERISK = 32516
GLOBAL CONST $IDI_EXCLAMATION = 32515
GLOBAL CONST $IDI_HAND = 32513
GLOBAL CONST $IDI_QUESTION = 32514
GLOBAL CONST $IDI_WINLOGO = 32517
GLOBAL CONST $SD_LOGOFF = 0
GLOBAL CONST $SD_SHUTDOWN = 1
GLOBAL CONST $SD_REBOOT = 2
GLOBAL CONST $SD_FORCE = 4
GLOBAL CONST $SD_POWERDOWN = 8
GLOBAL CONST $STR_NOCASESENSE = 0
GLOBAL CONST $STR_CASESENSE = 1
GLOBAL CONST $STR_STRIPLEADING = 1
GLOBAL CONST $STR_STRIPTRAILING = 2
GLOBAL CONST $STR_STRIPSPACES = 4
GLOBAL CONST $STR_STRIPALL = 8
GLOBAL CONST $TRAY_ITEM_EXIT = 3
GLOBAL CONST $TRAY_ITEM_PAUSE = 4
GLOBAL CONST $TRAY_ITEM_FIRST = 7
GLOBAL CONST $TRAY_CHECKED = 1
GLOBAL CONST $TRAY_UNCHECKED = 4
GLOBAL CONST $TRAY_ENABLE = 64
GLOBAL CONST $TRAY_DISABLE = 128
GLOBAL CONST $TRAY_FOCUS = 256
GLOBAL CONST $TRAY_DEFAULT = 512
GLOBAL CONST $TRAY_EVENT_SHOWICON = - 3
GLOBAL CONST $TRAY_EVENT_HIDEICON = - 4
GLOBAL CONST $TRAY_EVENT_FLASHICON = - 5
GLOBAL CONST $TRAY_EVENT_NOFLASHICON = - 6
GLOBAL CONST $TRAY_EVENT_PRIMARYDOWN = - 7
GLOBAL CONST $TRAY_EVENT_PRIMARYUP = - 8
GLOBAL CONST $TRAY_EVENT_SECONDARYDOWN = - 9
GLOBAL CONST $TRAY_EVENT_SECONDARYUP = - 10
GLOBAL CONST $TRAY_EVENT_MOUSEOVER = - 11
GLOBAL CONST $TRAY_EVENT_MOUSEOUT = - 12
GLOBAL CONST $TRAY_EVENT_PRIMARYDOUBLE = - 13
GLOBAL CONST $TRAY_EVENT_SECONDARYDOUBLE = - 14
GLOBAL CONST $STDIN_CHILD = 1
GLOBAL CONST $STDOUT_CHILD = 2
GLOBAL CONST $STDERR_CHILD = 4
GLOBAL CONST $STDERR_MERGED = 8
GLOBAL CONST $STDIO_INHERIT_PARENT = 16
GLOBAL CONST $RUN_CREATE_NEW_CONSOLE = 65536
GLOBAL CONST $MOUSEEVENTF_ABSOLUTE = 32768
GLOBAL CONST $MOUSEEVENTF_MOVE = 1
GLOBAL CONST $MOUSEEVENTF_LEFTDOWN = 2
GLOBAL CONST $MOUSEEVENTF_LEFTUP = 4
GLOBAL CONST $MOUSEEVENTF_RIGHTDOWN = 8
GLOBAL CONST $MOUSEEVENTF_RIGHTUP = 16
GLOBAL CONST $MOUSEEVENTF_MIDDLEDOWN = 32
GLOBAL CONST $MOUSEEVENTF_MIDDLEUP = 64
GLOBAL CONST $MOUSEEVENTF_WHEEL = 2048
GLOBAL CONST $MOUSEEVENTF_XDOWN = 128
GLOBAL CONST $MOUSEEVENTF_XUP = 256
GLOBAL CONST $REG_NONE = 0
GLOBAL CONST $REG_SZ = 1
GLOBAL CONST $REG_EXPAND_SZ = 2
GLOBAL CONST $REG_BINARY = 3
GLOBAL CONST $REG_DWORD = 4
GLOBAL CONST $REG_DWORD_BIG_ENDIAN = 5
GLOBAL CONST $REG_LINK = 6
GLOBAL CONST $REG_MULTI_SZ = 7
GLOBAL CONST $REG_RESOURCE_LIST = 8
GLOBAL CONST $REG_FULL_RESOURCE_DESCRIPTOR = 9
GLOBAL CONST $REG_RESOURCE_REQUIREMENTS_LIST = 10
GLOBAL CONST $HWND_BOTTOM = 1
GLOBAL CONST $HWND_NOTOPMOST = - 2
GLOBAL CONST $HWND_TOP = 0
GLOBAL CONST $HWND_TOPMOST = - 1
GLOBAL CONST $SWP_NOSIZE = 1
GLOBAL CONST $SWP_NOMOVE = 2
GLOBAL CONST $SWP_NOZORDER = 4
GLOBAL CONST $SWP_NOREDRAW = 8
GLOBAL CONST $SWP_NOACTIVATE = 16
GLOBAL CONST $SWP_FRAMECHANGED = 32
GLOBAL CONST $SWP_DRAWFRAME = 32
GLOBAL CONST $SWP_SHOWWINDOW = 64
GLOBAL CONST $SWP_HIDEWINDOW = 128
GLOBAL CONST $SWP_NOCOPYBITS = 256
GLOBAL CONST $SWP_NOOWNERZORDER = 512
GLOBAL CONST $SWP_NOREPOSITION = 512
GLOBAL CONST $SWP_NOSENDCHANGING = 1024
GLOBAL CONST $SWP_DEFERERASE = 8192
GLOBAL CONST $SWP_ASYNCWINDOWPOS = 16384
GLOBAL CONST $LANG_AFRIKAANS = 54
GLOBAL CONST $LANG_ALBANIAN = 28
GLOBAL CONST $LANG_ARABIC = 1
GLOBAL CONST $LANG_ARMENIAN = 43
GLOBAL CONST $LANG_ASSAMESE = 77
GLOBAL CONST $LANG_AZERI = 44
GLOBAL CONST $LANG_BASQUE = 45
GLOBAL CONST $LANG_BELARUSIAN = 35
GLOBAL CONST $LANG_BENGALI = 69
GLOBAL CONST $LANG_BULGARIAN = 2
GLOBAL CONST $LANG_CATALAN = 3
GLOBAL CONST $LANG_CHINESE = 4
GLOBAL CONST $LANG_CROATIAN = 26
GLOBAL CONST $LANG_CZECH = 5
GLOBAL CONST $LANG_DANISH = 6
GLOBAL CONST $LANG_DUTCH = 19
GLOBAL CONST $LANG_ENGLISH = 9
GLOBAL CONST $LANG_ESTONIAN = 37
GLOBAL CONST $LANG_FAEROESE = 56
GLOBAL CONST $LANG_FARSI = 41
GLOBAL CONST $LANG_FINNISH = 11
GLOBAL CONST $LANG_FRENCH = 156
GLOBAL CONST $LANG_GEORGIAN = 55
GLOBAL CONST $LANG_GERMAN = 7
GLOBAL CONST $LANG_GREEK = 8
GLOBAL CONST $LANG_GUJARATI = 71
GLOBAL CONST $LANG_HEBREW = 13
GLOBAL CONST $LANG_HINDI = 57
GLOBAL CONST $LANG_HUNGARIAN = 14
GLOBAL CONST $LANG_ICELANDIC = 15
GLOBAL CONST $LANG_INDONESIAN = 33
GLOBAL CONST $LANG_ITALIAN = 16
GLOBAL CONST $LANG_JAPANESE = 17
GLOBAL CONST $LANG_KANNADA = 75
GLOBAL CONST $LANG_KASHMIRI = 96
GLOBAL CONST $LANG_KAZAK = 63
GLOBAL CONST $LANG_KONKANI = 87
GLOBAL CONST $LANG_KOREAN = 18
GLOBAL CONST $LANG_LATVIAN = 38
GLOBAL CONST $LANG_LITHUANIAN = 39
GLOBAL CONST $LANG_MACEDONIAN = 47
GLOBAL CONST $LANG_MALAY = 62
GLOBAL CONST $LANG_MALAYALAM = 76
GLOBAL CONST $LANG_MANIPURI = 88
GLOBAL CONST $LANG_MARATHI = 78
GLOBAL CONST $LANG_NEPALI = 97
GLOBAL CONST $LANG_NEUTRAL = 0
GLOBAL CONST $LANG_NORWEGIAN = 20
GLOBAL CONST $LANG_ORIYA = 72
GLOBAL CONST $LANG_POLISH = 21
GLOBAL CONST $LANG_PORTUGUESE = 22
GLOBAL CONST $LANG_PUNJABI = 70
GLOBAL CONST $LANG_ROMANIAN = 24
GLOBAL CONST $LANG_RUSSIAN = 25
GLOBAL CONST $LANG_SANSKRIT = 79
GLOBAL CONST $LANG_SERBIAN = 26
GLOBAL CONST $LANG_SINDHI = 89
GLOBAL CONST $LANG_SLOVAK = 27
GLOBAL CONST $LANG_SLOVENIAN = 36
GLOBAL CONST $LANG_SPANISH = 10
GLOBAL CONST $LANG_SWAHILI = 65
GLOBAL CONST $LANG_SWEDISH = 29
GLOBAL CONST $LANG_TAMIL = 73
GLOBAL CONST $LANG_TATAR = 68
GLOBAL CONST $LANG_TELUGU = 74
GLOBAL CONST $LANG_THAI = 30
GLOBAL CONST $LANG_TURKISH = 31
GLOBAL CONST $LANG_UKRAINIAN = 34
GLOBAL CONST $LANG_URDU = 32
GLOBAL CONST $LANG_UZBEK = 67
GLOBAL CONST $LANG_VIETNAMESE = 42
GLOBAL CONST $SUBLANG_ARABIC_ALGERIA = 5
GLOBAL CONST $SUBLANG_ARABIC_BAHRAIN = 15
GLOBAL CONST $SUBLANG_ARABIC_EGYPT = 3
GLOBAL CONST $SUBLANG_ARABIC_IRAQ = 2
GLOBAL CONST $SUBLANG_ARABIC_JORDAN = 11
GLOBAL CONST $SUBLANG_ARABIC_KUWAIT = 13
GLOBAL CONST $SUBLANG_ARABIC_LEBANON = 12
GLOBAL CONST $SUBLANG_ARABIC_LIBYA = 4
GLOBAL CONST $SUBLANG_ARABIC_MOROCCO = 6
GLOBAL CONST $SUBLANG_ARABIC_OMAN = 8
GLOBAL CONST $SUBLANG_ARABIC_QATAR = 16
GLOBAL CONST $SUBLANG_ARABIC_SAUDI_ARABIA = 1
GLOBAL CONST $SUBLANG_ARABIC_SYRIA = 10
GLOBAL CONST $SUBLANG_ARABIC_TUNISIA = 7
GLOBAL CONST $SUBLANG_ARABIC_UAE = 14
GLOBAL CONST $SUBLANG_ARABIC_YEMEN = 9
GLOBAL CONST $SUBLANG_AZERI_CYRILLIC = 2
GLOBAL CONST $SUBLANG_AZERI_LATIN = 1
GLOBAL CONST $SUBLANG_CHINESE_HONGKONG = 3
GLOBAL CONST $SUBLANG_CHINESE_MACAU = 5
GLOBAL CONST $SUBLANG_CHINESE_SIMPLIFIED = 2
GLOBAL CONST $SUBLANG_CHINESE_SINGAPORE = 4
GLOBAL CONST $SUBLANG_CHINESE_TRADITIONAL = 1
GLOBAL CONST $SUBLANG_DEFAULT = 1
GLOBAL CONST $SUBLANG_DUTCH = 1
GLOBAL CONST $SUBLANG_DUTCH_BELGIAN = 2
GLOBAL CONST $SUBLANG_ENGLISH_AUS = 3
GLOBAL CONST $SUBLANG_ENGLISH_BELIZE = 10
GLOBAL CONST $SUBLANG_ENGLISH_CAN = 4
GLOBAL CONST $SUBLANG_ENGLISH_CARIBBEAN = 9
GLOBAL CONST $SUBLANG_ENGLISH_EIRE = 6
GLOBAL CONST $SUBLANG_ENGLISH_JAMAICA = 8
GLOBAL CONST $SUBLANG_ENGLISH_NZ = 5
GLOBAL CONST $SUBLANG_ENGLISH_PHILIPPINES = 13
GLOBAL CONST $SUBLANG_ENGLISH_SOUTH_AFRICA = 7
GLOBAL CONST $SUBLANG_ENGLISH_TRINIDAD = 11
GLOBAL CONST $SUBLANG_ENGLISH_UK = 2
GLOBAL CONST $SUBLANG_ENGLISH_US = 1
GLOBAL CONST $SUBLANG_ENGLISH_ZIMBABWE = 12
GLOBAL CONST $SUBLANG_FRENCH = 1
GLOBAL CONST $SUBLANG_FRENCH_BELGIAN = 2
GLOBAL CONST $SUBLANG_FRENCH_CANADIAN = 3
GLOBAL CONST $SUBLANG_FRENCH_LUXEMBOURG = 5
GLOBAL CONST $SUBLANG_FRENCH_MONACO = 6
GLOBAL CONST $SUBLANG_FRENCH_SWISS = 4
GLOBAL CONST $SUBLANG_GERMAN = 1
GLOBAL CONST $SUBLANG_GERMAN_AUSTRIAN = 3
GLOBAL CONST $SUBLANG_GERMAN_LIECHTENSTEIN = 5
GLOBAL CONST $SUBLANG_GERMAN_LUXEMBOURG = 4
GLOBAL CONST $SUBLANG_GERMAN_SWISS = 2
GLOBAL CONST $SUBLANG_ITALIAN = 1
GLOBAL CONST $SUBLANG_ITALIAN_SWISS = 2
GLOBAL CONST $SUBLANG_KASHMIRI_INDIA = 2
GLOBAL CONST $SUBLANG_KOREAN = 1
GLOBAL CONST $SUBLANG_LITHUANIAN = 1
GLOBAL CONST $SUBLANG_MALAY_BRUNEI_DARUSSALAM = 2
GLOBAL CONST $SUBLANG_MALAY_MALAYSIA = 1
GLOBAL CONST $SUBLANG_NEPALI_INDIA = 2
GLOBAL CONST $SUBLANG_NEUTRAL = 0
GLOBAL CONST $SUBLANG_NORWEGIAN_BOKMAL = 1
GLOBAL CONST $SUBLANG_NORWEGIAN_NYNORSK = 2
GLOBAL CONST $SUBLANG_PORTUGUESE = 2
GLOBAL CONST $SUBLANG_PORTUGUESE_BRAZILIAN = 1
GLOBAL CONST $SUBLANG_SERBIAN_CYRILLIC = 3
GLOBAL CONST $SUBLANG_SERBIAN_LATIN = 2
GLOBAL CONST $SUBLANG_SPANISH = 1
GLOBAL CONST $SUBLANG_SPANISH_ARGENTINA = 11
GLOBAL CONST $SUBLANG_SPANISH_BOLIVIA = 16
GLOBAL CONST $SUBLANG_SPANISH_CHILE = 13
GLOBAL CONST $SUBLANG_SPANISH_COLOMBIA = 9
GLOBAL CONST $SUBLANG_SPANISH_COSTA_RICA = 5
GLOBAL CONST $SUBLANG_SPANISH_DOMINICAN_REPUBLIC = 7
GLOBAL CONST $SUBLANG_SPANISH_ECUADOR = 12
GLOBAL CONST $SUBLANG_SPANISH_EL_SALVADOR = 17
GLOBAL CONST $SUBLANG_SPANISH_GUATEMALA = 4
GLOBAL CONST $SUBLANG_SPANISH_HONDURAS = 18
GLOBAL CONST $SUBLANG_SPANISH_MEXICAN = 2
GLOBAL CONST $SUBLANG_SPANISH_MODERN = 3
GLOBAL CONST $SUBLANG_SPANISH_NICARAGUA = 19
GLOBAL CONST $SUBLANG_SPANISH_PANAMA = 6
GLOBAL CONST $SUBLANG_SPANISH_PARAGUAY = 15
GLOBAL CONST $SUBLANG_SPANISH_PERU = 10
GLOBAL CONST $SUBLANG_SPANISH_PUERTO_RICO = 20
GLOBAL CONST $SUBLANG_SPANISH_URUGUAY = 14
GLOBAL CONST $SUBLANG_SPANISH_VENEZUELA = 8
GLOBAL CONST $SUBLANG_SWEDISH = 1
GLOBAL CONST $SUBLANG_SWEDISH_FINLAND = 2
GLOBAL CONST $SUBLANG_SYS_DEFAULT = 2
GLOBAL CONST $SUBLANG_URDU_INDIA = 2
GLOBAL CONST $SUBLANG_URDU_PAKISTAN = 1
GLOBAL CONST $SUBLANG_UZBEK_CYRILLIC = 2
GLOBAL CONST $SORT_DEFAULT = 0
GLOBAL CONST $SORT_JAPANESE_XJIS = 0
GLOBAL CONST $SORT_JAPANESE_UNICODE = 1
GLOBAL CONST $SORT_CHINESE_BIG5 = 0
GLOBAL CONST $SORT_CHINESE_PRCP = 0
GLOBAL CONST $SORT_CHINESE_UNICODE = 1
GLOBAL CONST $SORT_CHINESE_PRC = 2
GLOBAL CONST $SORT_KOREAN_KSC = 0
GLOBAL CONST $SORT_KOREAN_UNICODE = 1
GLOBAL CONST $SORT_GERMAN_PHONE_BOOK = 1
GLOBAL CONST $SORT_HUNGARIAN_DEFAULT = 0
GLOBAL CONST $SORT_HUNGARIAN_TECHNICAL = 1
GLOBAL CONST $SORT_GEORGIAN_TRADITIONAL = 0
GLOBAL CONST $SORT_GEORGIAN_MODERN = 1
FUNC _PROCESSGETNAME ( $I_PID )
IF NOT PROCESSEXISTS( $I_PID ) THEN RETURN SETERROR( 1 , 0 , "" )
IF NOT @ERROR THEN
LOCAL $A_PROCESSES = PROCESSLIST( )
FOR $I = 1 TO $A_PROCESSES [ 0 ] [ 0 ]
IF $A_PROCESSES [ $I ] [ 1 ] = $I_PID THEN RETURN $A_PROCESSES [ $I ] [ 0 ]
NEXT
ENDIF
RETURN SETERROR( 1 , 0 , "" )
ENDFUNC
FUNC _PROCESSGETPRIORITY ( $VPROCESS )
LOCAL $IERROR , $IEXTENDED , $IRETURN = - 1
LOCAL $I_PID = PROCESSEXISTS( $VPROCESS )
IF NOT $I_PID THEN RETURN SETERROR( 1 , 0 , - 1 )
LOCAL $HDLL = DLLOPEN( "kernel32.dll" )
DO
LOCAL $APROCESSHANDLE = DLLCALL( $HDLL , "handle" , "OpenProcess" , "dword" , $PROCESS_QUERY_INFORMATION , "bool" , FALSE , "dword" , $I_PID )
IF @ERROR THEN
$IERROR = @ERROR
$IEXTENDED = @EXTENDED
EXITLOOP
ENDIF
IF NOT $APROCESSHANDLE [ 0 ] THEN EXITLOOP
LOCAL $APRIORITY = DLLCALL( $HDLL , "dword" , "GetPriorityClass" , "handle" , $APROCESSHANDLE [ 0 ] )
IF @ERROR THEN
$IERROR = @ERROR
$IEXTENDED = @EXTENDED
ENDIF
DLLCALL( $HDLL , "bool" , "CloseHandle" , "handle" , $APROCESSHANDLE [ 0 ] )
IF $IERROR THEN EXITLOOP
SWITCH $APRIORITY [ 0 ]
CASE 64
$IRETURN = 0
CASE 16384
$IRETURN = 1
CASE 32
$IRETURN = 2
CASE 32768
$IRETURN = 3
CASE 128
$IRETURN = 4
CASE 256
$IRETURN = 5
CASE ELSE
$IERROR = 1
$IEXTENDED = $APRIORITY [ 0 ]
$IRETURN = - 1
ENDSWITCH
UNTIL TRUE
DLLCLOSE( $HDLL )
RETURN SETERROR( $IERROR , $IEXTENDED , $IRETURN )
ENDFUNC
FUNC _RUNDOS ( $SCOMMAND )
LOCAL $NRESULT = RUNWAIT( @COMSPEC & " /C " & $SCOMMAND , "" , @SW_HIDE )
RETURN SETERROR( @ERROR , @EXTENDED , $NRESULT )
ENDFUNC
GLOBAL CONST $FW_DONTCARE = 0
GLOBAL CONST $FW_THIN = 100
GLOBAL CONST $FW_EXTRALIGHT = 200
GLOBAL CONST $FW_ULTRALIGHT = 200
GLOBAL CONST $FW_LIGHT = 300
GLOBAL CONST $FW_NORMAL = 400
GLOBAL CONST $FW_REGULAR = 400
GLOBAL CONST $FW_MEDIUM = 500
GLOBAL CONST $FW_SEMIBOLD = 600
GLOBAL CONST $FW_DEMIBOLD = 600
GLOBAL CONST $FW_BOLD = 700
GLOBAL CONST $FW_EXTRABOLD = 800
GLOBAL CONST $FW_ULTRABOLD = 800
GLOBAL CONST $FW_HEAVY = 900
GLOBAL CONST $FW_BLACK = 900
GLOBAL CONST $CF_EFFECTS = 256
GLOBAL CONST $CF_PRINTERFONTS = 2
GLOBAL CONST $CF_SCREENFONTS = 1
GLOBAL CONST $CF_NOSCRIPTSEL = 8388608
GLOBAL CONST $CF_INITTOLOGFONTSTRUCT = 64
GLOBAL CONST $LOGPIXELSX = 88
GLOBAL CONST $LOGPIXELSY = 90
GLOBAL CONST $ANSI_CHARSET = 0
GLOBAL CONST $BALTIC_CHARSET = 186
GLOBAL CONST $CHINESEBIG5_CHARSET = 136
GLOBAL CONST $DEFAULT_CHARSET = 1
GLOBAL CONST $EASTEUROPE_CHARSET = 238
GLOBAL CONST $GB2312_CHARSET = 134
GLOBAL CONST $GREEK_CHARSET = 161
GLOBAL CONST $HANGEUL_CHARSET = 129
GLOBAL CONST $MAC_CHARSET = 77
GLOBAL CONST $OEM_CHARSET = 255
GLOBAL CONST $RUSSIAN_CHARSET = 204
GLOBAL CONST $SHIFTJIS_CHARSET = 128
GLOBAL CONST $SYMBOL_CHARSET = 2
GLOBAL CONST $TURKISH_CHARSET = 162
GLOBAL CONST $VIETNAMESE_CHARSET = 163
GLOBAL CONST $OUT_CHARACTER_PRECIS = 2
GLOBAL CONST $OUT_DEFAULT_PRECIS = 0
GLOBAL CONST $OUT_DEVICE_PRECIS = 5
GLOBAL CONST $OUT_OUTLINE_PRECIS = 8
GLOBAL CONST $OUT_PS_ONLY_PRECIS = 10
GLOBAL CONST $OUT_RASTER_PRECIS = 6
GLOBAL CONST $OUT_STRING_PRECIS = 1
GLOBAL CONST $OUT_STROKE_PRECIS = 3
GLOBAL CONST $OUT_TT_ONLY_PRECIS = 7
GLOBAL CONST $OUT_TT_PRECIS = 4
GLOBAL CONST $CLIP_CHARACTER_PRECIS = 1
GLOBAL CONST $CLIP_DEFAULT_PRECIS = 0
GLOBAL CONST $CLIP_EMBEDDED = 128
GLOBAL CONST $CLIP_LH_ANGLES = 16
GLOBAL CONST $CLIP_MASK = 15
GLOBAL CONST $CLIP_STROKE_PRECIS = 2
GLOBAL CONST $CLIP_TT_ALWAYS = 32
GLOBAL CONST $ANTIALIASED_QUALITY = 4
GLOBAL CONST $DEFAULT_QUALITY = 0
GLOBAL CONST $DRAFT_QUALITY = 1
GLOBAL CONST $NONANTIALIASED_QUALITY = 3
GLOBAL CONST $PROOF_QUALITY = 2
GLOBAL CONST $DEFAULT_PITCH = 0
GLOBAL CONST $FIXED_PITCH = 1
GLOBAL CONST $VARIABLE_PITCH = 2
GLOBAL CONST $FF_DECORATIVE = 80
GLOBAL CONST $FF_DONTCARE = 0
GLOBAL CONST $FF_MODERN = 48
GLOBAL CONST $FF_ROMAN = 16
GLOBAL CONST $FF_SCRIPT = 64
GLOBAL CONST $FF_SWISS = 32
GLOBAL CONST $TAGPOINT = "long X;long Y"
GLOBAL CONST $TAGRECT = "long Left;long Top;long Right;long Bottom"
GLOBAL CONST $TAGSIZE = "long X;long Y"
GLOBAL CONST $TAGMARGINS = "int cxLeftWidth;int cxRightWidth;int cyTopHeight;int cyBottomHeight"
GLOBAL CONST $TAGFILETIME = "dword Lo;dword Hi"
GLOBAL CONST $TAGSYSTEMTIME = "word Year;word Month;word Dow;word Day;word Hour;word Minute;word Second;word MSeconds"
GLOBAL CONST $TAGTIME_ZONE_INFORMATION = "long Bias;wchar StdName[32];word StdDate[8];long StdBias;wchar DayName[32];word DayDate[8];long DayBias"
GLOBAL CONST $TAGNMHDR = "hwnd hWndFrom;uint_ptr IDFrom;INT Code"
GLOBAL CONST $TAGCOMBOBOXEXITEM = "uint Mask;int_ptr Item;ptr Text;int TextMax;int Image;int SelectedImage;int OverlayImage;" & "int Indent;lparam Param"
GLOBAL CONST $TAGNMCBEDRAGBEGIN = $TAGNMHDR & ";int ItemID;ptr szText"
GLOBAL CONST $TAGNMCBEENDEDIT = $TAGNMHDR & ";bool fChanged;int NewSelection;ptr szText;int Why"
GLOBAL CONST $TAGNMCOMBOBOXEX = $TAGNMHDR & ";uint Mask;int_ptr Item;ptr Text;int TextMax;int Image;" & "int SelectedImage;int OverlayImage;int Indent;lparam Param"
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"
GLOBAL CONST $TAGNMDATETIMECHANGE = $TAGNMHDR & ";dword Flag;" & $TAGSYSTEMTIME
GLOBAL CONST $TAGNMDATETIMEFORMAT = $TAGNMHDR & ";ptr Format;" & $TAGSYSTEMTIME & ";ptr pDisplay;wchar Display[64]"
GLOBAL CONST $TAGNMDATETIMEFORMATQUERY = $TAGNMHDR & ";ptr Format;long SizeX;long SizeY"
GLOBAL CONST $TAGNMDATETIMEKEYDOWN = $TAGNMHDR & ";int VirtKey;ptr Format;" & $TAGSYSTEMTIME
GLOBAL CONST $TAGNMDATETIMESTRING = $TAGNMHDR & ";ptr UserString;" & $TAGSYSTEMTIME & ";dword Flags"
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"
GLOBAL CONST $TAGGDIPBITMAPDATA = "uint Width;uint Height;int Stride;int Format;ptr Scan0;uint_ptr Reserved"
GLOBAL CONST $TAGGDIPENCODERPARAM = "byte GUID[16];dword Count;dword Type;ptr Values"
GLOBAL CONST $TAGGDIPENCODERPARAMS = "dword Count;byte Params[0]"
GLOBAL CONST $TAGGDIPRECTF = "float X;float Y;float Width;float Height"
GLOBAL CONST $TAGGDIPSTARTUPINPUT = "uint Version;ptr Callback;bool NoThread;bool NoCodecs"
GLOBAL CONST $TAGGDIPSTARTUPOUTPUT = "ptr HookProc;ptr UnhookProc"
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"
GLOBAL CONST $TAGGDIPPENCODERPARAMS = "dword Count;byte Params[0]"
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"
GLOBAL CONST $TAGNMHDDISPINFO = $TAGNMHDR & ";int Item;uint Mask;ptr Text;int TextMax;int Image;lparam lParam"
GLOBAL CONST $TAGNMHDFILTERBTNCLICK = $TAGNMHDR & ";int Item;" & $TAGRECT
GLOBAL CONST $TAGNMHEADER = $TAGNMHDR & ";int Item;int Button;ptr pItem"
GLOBAL CONST $TAGGETIPADDRESS = "byte Field4;byte Field3;byte Field2;byte Field1"
GLOBAL CONST $TAGNMIPADDRESS = $TAGNMHDR & ";int Field;int Value"
GLOBAL CONST $TAGLVFINDINFO = "uint Flags;ptr Text;lparam Param;" & $TAGPOINT & ";uint Direction"
GLOBAL CONST $TAGLVHITTESTINFO = $TAGPOINT & ";uint Flags;int Item;int SubItem"
GLOBAL CONST $TAGLVITEM = "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"
GLOBAL CONST $TAGNMLISTVIEW = $TAGNMHDR & ";int Item;int SubItem;uint NewState;uint OldState;uint Changed;" & "long ActionX;long ActionY;lparam Param"
GLOBAL CONST $TAGNMLVCUSTOMDRAW = $TAGNMHDR & ";dword dwDrawStage;handle hdc;long Left;long Top;long Right;long Bottom;" & "dword_ptr dwItemSpec;uint uItemState;lparam lItemlParam" & ";dword clrText;dword clrTextBk;int iSubItem;dword dwItemType;dword clrFace;int iIconEffect;" & "int iIconPhase;int iPartId;int iStateId;long TextLeft;long TextTop;long TextRight;long TextBottom;uint uAlign"
GLOBAL CONST $TAGNMLVDISPINFO = $TAGNMHDR & ";" & $TAGLVITEM
GLOBAL CONST $TAGNMLVFINDITEM = $TAGNMHDR & ";" & $TAGLVFINDINFO
GLOBAL CONST $TAGNMLVGETINFOTIP = $TAGNMHDR & ";dword Flags;ptr Text;int TextMax;int Item;int SubItem;lparam lParam"
GLOBAL CONST $TAGNMITEMACTIVATE = $TAGNMHDR & ";int Index;int SubItem;uint NewState;uint OldState;uint Changed;" & $TAGPOINT & ";lparam lParam;uint KeyFlags"
GLOBAL CONST $TAGNMLVKEYDOWN = $TAGNMHDR & ";align 1;word VKey;uint Flags"
GLOBAL CONST $TAGNMLVSCROLL = $TAGNMHDR & ";int DX;int DY"
GLOBAL CONST $TAGMCHITTESTINFO = "uint Size;" & $TAGPOINT & ";uint Hit;" & $TAGSYSTEMTIME
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"
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"
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"
GLOBAL CONST $TAGNMDAYSTATE = $TAGNMHDR & ";" & $TAGSYSTEMTIME & ";int DayState;ptr pDayState"
GLOBAL CONST $TAGNMSELCHANGE = $TAGNMHDR & ";word BegYear;word BegMonth;word BegDOW;word BegDay;" & "word BegHour;word BegMinute;word BegSecond;word BegMSeconds;word EndYear;word EndMonth;word EndDOW;" & "word EndDay;word EndHour;word EndMinute;word EndSecond;word EndMSeconds"
GLOBAL CONST $TAGNMOBJECTNOTIFY = $TAGNMHDR & ";int Item;ptr piid;ptr pObject;long Result"
GLOBAL CONST $TAGNMTCKEYDOWN = $TAGNMHDR & ";word VKey;uint Flags"
GLOBAL CONST $TAGTVITEM = "uint Mask;handle hItem;uint State;uint StateMask;ptr Text;int TextMax;int Image;int SelectedImage;" & "int Children;lparam Param"
GLOBAL CONST $TAGTVITEMEX = $TAGTVITEM & ";int Integral"
GLOBAL CONST $TAGNMTREEVIEW = $TAGNMHDR & ";uint Action;uint OldMask;handle OldhItem;uint OldState;uint OldStateMask;" & "ptr OldText;int OldTextMax;int OldImage;int OldSelectedImage;int OldChildren;lparam OldParam;uint NewMask;handle NewhItem;" & "uint NewState;uint NewStateMask;ptr NewText;int NewTextMax;int NewImage;int NewSelectedImage;int NewChildren;" & "lparam NewParam;long PointX;long PointY"
GLOBAL CONST $TAGNMTVCUSTOMDRAW = $TAGNMHDR & ";dword DrawStage;handle HDC;long Left;long Top;long Right;long Bottom;" & "dword_ptr ItemSpec;uint ItemState;lparam ItemParam;dword ClrText;dword ClrTextBk;int Level"
GLOBAL CONST $TAGNMTVDISPINFO = $TAGNMHDR & ";" & $TAGTVITEM
GLOBAL CONST $TAGNMTVGETINFOTIP = $TAGNMHDR & ";ptr Text;int TextMax;handle hItem;lparam lParam"
GLOBAL CONST $TAGTVHITTESTINFO = $TAGPOINT & ";uint Flags;handle Item"
GLOBAL CONST $TAGNMTVKEYDOWN = $TAGNMHDR & ";word VKey;uint Flags"
GLOBAL CONST $TAGNMMOUSE = $TAGNMHDR & ";dword_ptr ItemSpec;dword_ptr ItemData;" & $TAGPOINT & ";lparam HitInfo"
GLOBAL CONST $TAGTOKEN_PRIVILEGES = "dword Count;int64 LUID;dword Attributes"
GLOBAL CONST $TAGIMAGEINFO = "handle hBitmap;handle hMask;int Unused1;int Unused2;" & $TAGRECT
GLOBAL CONST $TAGMENUINFO = "dword Size;INT Mask;dword Style;uint YMax;handle hBack;dword ContextHelpID;ulong_ptr MenuData"
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"
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"
GLOBAL CONST $TAGNMREBARAUTOBREAK = $TAGNMHDR & ";uint uBand;uint wID;lparam lParam;uint uMsg;uint fStyleCurrent;bool fAutoBreak"
GLOBAL CONST $TAGNMRBAUTOSIZE = $TAGNMHDR & ";bool fChanged;long TargetLeft;long TargetTop;long TargetRight;long TargetBottom;" & "long ActualLeft;long ActualTop;long ActualRight;long ActualBottom"
GLOBAL CONST $TAGNMREBAR = $TAGNMHDR & ";dword dwMask;uint uBand;uint fStyle;uint wID;laram lParam"
GLOBAL CONST $TAGNMREBARCHEVRON = $TAGNMHDR & ";uint uBand;uint wID;lparam lParam;" & $TAGRECT & ";lparam lParamNM"
GLOBAL CONST $TAGNMREBARCHILDSIZE = $TAGNMHDR & ";uint uBand;uint wID;long CLeft;long CTop;long CRight;long CBottom;" & "long BLeft;long BTop;long BRight;long BBottom"
GLOBAL CONST $TAGCOLORSCHEME = "dword Size;dword BtnHighlight;dword BtnShadow"
GLOBAL CONST $TAGNMTOOLBAR = $TAGNMHDR & ";int iItem;" & "int iBitmap;int idCommand;byte fsState;byte fsStyle;align;dword_ptr dwData;int_ptr iString" & ";int cchText;ptr pszText;" & $TAGRECT
GLOBAL CONST $TAGNMTBHOTITEM = $TAGNMHDR & ";int idOld;int idNew;dword dwFlags"
GLOBAL CONST $TAGTBBUTTON = "int Bitmap;int Command;byte State;byte Style;align;dword_ptr Param;int_ptr String"
GLOBAL CONST $TAGTBBUTTONINFO = "uint Size;dword Mask;int Command;int Image;byte State;byte Style;word CX;dword_ptr Param;ptr Text;int TextMax"
GLOBAL CONST $TAGNETRESOURCE = "dword Scope;dword Type;dword DisplayType;dword Usage;ptr LocalName;ptr RemoteName;ptr Comment;ptr Provider"
GLOBAL CONST $TAGOVERLAPPED = "ulong_ptr Internal;ulong_ptr InternalHigh;dword Offset;dword OffsetHigh;handle hEvent"
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"
GLOBAL CONST $TAGBITMAPINFO = "dword Size;long Width;long Height;word Planes;word BitCount;dword Compression;dword SizeImage;" & "long XPelsPerMeter;long YPelsPerMeter;dword ClrUsed;dword ClrImportant;dword RGBQuad"
GLOBAL CONST $TAGBLENDFUNCTION = "byte Op;byte Flags;byte Alpha;byte Format"
GLOBAL CONST $TAGGUID = "dword Data1;word Data2;word Data3;byte Data4[8]"
GLOBAL CONST $TAGWINDOWPLACEMENT = "uint length; uint flags;uint showCmd;long ptMinPosition[2];long ptMaxPosition[2];long rcNormalPosition[4]"
GLOBAL CONST $TAGWINDOWPOS = "hwnd hWnd;hwnd InsertAfter;int X;int Y;int CX;int CY;uint Flags"
GLOBAL CONST $TAGSCROLLINFO = "uint cbSize;uint fMask;int  nMin;int  nMax;uint nPage;int  nPos;int  nTrackPos"
GLOBAL CONST $TAGSCROLLBARINFO = "dword cbSize;" & $TAGRECT & ";int dxyLineButton;int xyThumbTop;" & "int xyThumbBottom;int reserved;dword rgstate[6]"
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]"
GLOBAL CONST $TAGKBDLLHOOKSTRUCT = "dword vkCode;dword scanCode;dword flags;dword time;ulong_ptr dwExtraInfo"
GLOBAL CONST $TAGPROCESS_INFORMATION = "handle hProcess;handle hThread;dword ProcessID;dword ThreadID"
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"
GLOBAL CONST $TAGSECURITY_ATTRIBUTES = "dword Length;ptr Descriptor;bool InheritHandle"
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]"
FUNC _WINAPI_GETLASTERROR ( $CURERR = @ERROR , $CUREXT = @EXTENDED )
LOCAL $ARESULT = DLLCALL( "kernel32.dll" , "dword" , "GetLastError" )
RETURN SETERROR( $CURERR , $CUREXT , $ARESULT [ 0 ] )
ENDFUNC
FUNC _WINAPI_SETLASTERROR ( $IERRCODE , $CURERR = @ERROR , $CUREXT = @EXTENDED )
DLLCALL( "kernel32.dll" , "none" , "SetLastError" , "dword" , $IERRCODE )
RETURN SETERROR( $CURERR , $CUREXT )
ENDFUNC
GLOBAL CONST $__MISCCONSTANT_CC_ANYCOLOR = 256
GLOBAL CONST $__MISCCONSTANT_CC_FULLOPEN = 2
GLOBAL CONST $__MISCCONSTANT_CC_RGBINIT = 1
GLOBAL CONST $TAGCHOOSECOLOR = "dword Size;hwnd hWndOwnder;handle hInstance;dword rgbResult;ptr CustColors;dword Flags;lparam lCustData;" & "ptr lpfnHook;ptr lpTemplateName"
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"
FUNC _CHOOSECOLOR ( $IRETURNTYPE = 0 , $ICOLORREF = 0 , $IREFTYPE = 0 , $HWNDOWNDER = 0 )
LOCAL $CUSTCOLORS = "dword[16]"
LOCAL $TCHOOSE = DLLSTRUCTCREATE( $TAGCHOOSECOLOR )
LOCAL $TCC = DLLSTRUCTCREATE( $CUSTCOLORS )
IF $IREFTYPE = 1 THEN
$ICOLORREF = INT( $ICOLORREF )
ELSEIF $IREFTYPE = 2 THEN
$ICOLORREF = HEX( STRING( $ICOLORREF ) , 6 )
$ICOLORREF = "0x" & STRINGMID( $ICOLORREF , 5 , 2 ) & STRINGMID( $ICOLORREF , 3 , 2 ) & STRINGMID( $ICOLORREF , 1 , 2 )
ENDIF
DLLSTRUCTSETDATA( $TCHOOSE , "Size" , DLLSTRUCTGETSIZE( $TCHOOSE ) )
DLLSTRUCTSETDATA( $TCHOOSE , "hWndOwnder" , $HWNDOWNDER )
DLLSTRUCTSETDATA( $TCHOOSE , "rgbResult" , $ICOLORREF )
DLLSTRUCTSETDATA( $TCHOOSE , "CustColors" , DLLSTRUCTGETPTR( $TCC ) )
DLLSTRUCTSETDATA( $TCHOOSE , "Flags" , BITOR( $__MISCCONSTANT_CC_ANYCOLOR , $__MISCCONSTANT_CC_FULLOPEN , $__MISCCONSTANT_CC_RGBINIT ) )
LOCAL $ARESULT = DLLCALL( "comdlg32.dll" , "bool" , "ChooseColor" , "ptr" , DLLSTRUCTGETPTR( $TCHOOSE ) )
IF @ERROR THEN RETURN SETERROR( @ERROR , @EXTENDED , - 1 )
IF $ARESULT [ 0 ] = 0 THEN RETURN SETERROR( - 3 , - 3 , - 1 )
LOCAL $COLOR_PICKED = DLLSTRUCTGETDATA( $TCHOOSE , "rgbResult" )
IF $IRETURNTYPE = 1 THEN
RETURN "0x" & HEX( STRING( $COLOR_PICKED ) , 6 )
ELSEIF $IRETURNTYPE = 2 THEN
$COLOR_PICKED = HEX( STRING( $COLOR_PICKED ) , 6 )
RETURN "0x" & STRINGMID( $COLOR_PICKED , 5 , 2 ) & STRINGMID( $COLOR_PICKED , 3 , 2 ) & STRINGMID( $COLOR_PICKED , 1 , 2 )
ELSEIF $IRETURNTYPE = 0 THEN
RETURN $COLOR_PICKED
ELSE
RETURN SETERROR( - 4 , - 4 , - 1 )
ENDIF
ENDFUNC
FUNC _CHOOSEFONT ( $SFONTNAME = "Courier New" , $IPOINTSIZE = 10 , $ICOLORREF = 0 , $IFONTWEIGHT = 0 , $IITALIC = FALSE , $IUNDERLINE = FALSE , $ISTRIKETHRU = FALSE , $HWNDOWNER = 0 )
LOCAL $ITALIC = 0 , $UNDERLINE = 0 , $STRIKEOUT = 0
LOCAL $LNGDC = __MISC_GETDC ( 0 )
LOCAL $LFHEIGHT = ROUND( ( $IPOINTSIZE * __MISC_GETDEVICECAPS ( $LNGDC , $LOGPIXELSX ) ) / 72 , 0 )
__MISC_RELEASEDC ( 0 , $LNGDC )
LOCAL $TCHOOSEFONT = DLLSTRUCTCREATE( $TAGCHOOSEFONT )
LOCAL $TLOGFONT = DLLSTRUCTCREATE( $TAGLOGFONT )
DLLSTRUCTSETDATA( $TCHOOSEFONT , "Size" , DLLSTRUCTGETSIZE( $TCHOOSEFONT ) )
DLLSTRUCTSETDATA( $TCHOOSEFONT , "hWndOwner" , $HWNDOWNER )
DLLSTRUCTSETDATA( $TCHOOSEFONT , "LogFont" , DLLSTRUCTGETPTR( $TLOGFONT ) )
DLLSTRUCTSETDATA( $TCHOOSEFONT , "PointSize" , $IPOINTSIZE )
DLLSTRUCTSETDATA( $TCHOOSEFONT , "Flags" , BITOR( $CF_SCREENFONTS , $CF_PRINTERFONTS , $CF_EFFECTS , $CF_INITTOLOGFONTSTRUCT , $CF_NOSCRIPTSEL ) )
DLLSTRUCTSETDATA( $TCHOOSEFONT , "rgbColors" , $ICOLORREF )
DLLSTRUCTSETDATA( $TCHOOSEFONT , "FontType" , 0 )
DLLSTRUCTSETDATA( $TLOGFONT , "Height" , $LFHEIGHT )
DLLSTRUCTSETDATA( $TLOGFONT , "Weight" , $IFONTWEIGHT )
DLLSTRUCTSETDATA( $TLOGFONT , "Italic" , $IITALIC )
DLLSTRUCTSETDATA( $TLOGFONT , "Underline" , $IUNDERLINE )
DLLSTRUCTSETDATA( $TLOGFONT , "Strikeout" , $ISTRIKETHRU )
DLLSTRUCTSETDATA( $TLOGFONT , "FaceName" , $SFONTNAME )
LOCAL $ARESULT = DLLCALL( "comdlg32.dll" , "bool" , "ChooseFontW" , "ptr" , DLLSTRUCTGETPTR( $TCHOOSEFONT ) )
IF @ERROR THEN RETURN SETERROR( @ERROR , @EXTENDED , - 1 )
IF $ARESULT [ 0 ] = 0 THEN RETURN SETERROR( - 3 , - 3 , - 1 )
LOCAL $FONTNAME = DLLSTRUCTGETDATA( $TLOGFONT , "FaceName" )
IF STRINGLEN( $FONTNAME ) = 0 AND STRINGLEN( $SFONTNAME ) > 0 THEN $FONTNAME = $SFONTNAME
IF DLLSTRUCTGETDATA( $TLOGFONT , "Italic" ) THEN $ITALIC = 2
IF DLLSTRUCTGETDATA( $TLOGFONT , "Underline" ) THEN $UNDERLINE = 4
IF DLLSTRUCTGETDATA( $TLOGFONT , "Strikeout" ) THEN $STRIKEOUT = 8
LOCAL $ATTRIBUTES = BITOR( $ITALIC , $UNDERLINE , $STRIKEOUT )
LOCAL $SIZE = DLLSTRUCTGETDATA( $TCHOOSEFONT , "PointSize" ) / 10
LOCAL $COLORREF = DLLSTRUCTGETDATA( $TCHOOSEFONT , "rgbColors" )
LOCAL $WEIGHT = DLLSTRUCTGETDATA( $TLOGFONT , "Weight" )
LOCAL $COLOR_PICKED = HEX( STRING( $COLORREF ) , 6 )
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 ) , "," )
ENDFUNC
FUNC _CLIPPUTFILE ( $SFILE , $SSEPARATOR = "|" )
LOCAL CONST $GMEM_MOVEABLE = 2 , $CF_HDROP = 15
$SFILE &= $SSEPARATOR & $SSEPARATOR
LOCAL $NGLOBMEMSIZE = ( STRINGLEN( $SFILE ) + 20 )
LOCAL $ARESULT = DLLCALL( "user32.dll" , "bool" , "OpenClipboard" , "hwnd" , 0 )
IF @ERROR OR $ARESULT [ 0 ] = 0 THEN RETURN SETERROR( 1 , _WINAPI_GETLASTERROR ( ) , FALSE )
LOCAL $IERROR = 0 , $ILASTERROR = 0
$ARESULT = DLLCALL( "user32.dll" , "bool" , "EmptyClipboard" )
IF @ERROR OR NOT $ARESULT [ 0 ] THEN
$IERROR = 2
$ILASTERROR = _WINAPI_GETLASTERROR ( )
ELSE
$ARESULT = DLLCALL( "kernel32.dll" , "handle" , "GlobalAlloc" , "uint" , $GMEM_MOVEABLE , "ulong_ptr" , $NGLOBMEMSIZE )
IF @ERROR OR NOT $ARESULT [ 0 ] THEN
$IERROR = 3
$ILASTERROR = _WINAPI_GETLASTERROR ( )
ELSE
LOCAL $HGLOBAL = $ARESULT [ 0 ]
$ARESULT = DLLCALL( "kernel32.dll" , "ptr" , "GlobalLock" , "handle" , $HGLOBAL )
IF @ERROR OR NOT $ARESULT [ 0 ] THEN
$IERROR = 4
$ILASTERROR = _WINAPI_GETLASTERROR ( )
ELSE
LOCAL $HLOCK = $ARESULT [ 0 ]
LOCAL $DROPFILES = DLLSTRUCTCREATE( "dword;ptr;int;int;int;char[" & STRINGLEN( $SFILE ) + 1 & "]" , $HLOCK )
IF @ERROR THEN RETURN SETERROR( 5 , 6 , FALSE )
LOCAL $TEMPSTRUCT = DLLSTRUCTCREATE( "dword;ptr;int;int;int" )
DLLSTRUCTSETDATA( $DROPFILES , 1 , DLLSTRUCTGETSIZE( $TEMPSTRUCT ) )
DLLSTRUCTSETDATA( $DROPFILES , 2 , 0 )
DLLSTRUCTSETDATA( $DROPFILES , 3 , 0 )
DLLSTRUCTSETDATA( $DROPFILES , 4 , 0 )
DLLSTRUCTSETDATA( $DROPFILES , 5 , 0 )
DLLSTRUCTSETDATA( $DROPFILES , 6 , $SFILE )
FOR $I = 1 TO STRINGLEN( $SFILE )
IF DLLSTRUCTGETDATA( $DROPFILES , 6 , $I ) = $SSEPARATOR THEN DLLSTRUCTSETDATA( $DROPFILES , 6 , CHR( 0 ) , $I )
NEXT
$ARESULT = DLLCALL( "user32.dll" , "handle" , "SetClipboardData" , "uint" , $CF_HDROP , "handle" , $HGLOBAL )
IF @ERROR OR NOT $ARESULT [ 0 ] THEN
$IERROR = 6
$ILASTERROR = _WINAPI_GETLASTERROR ( )
ENDIF
$ARESULT = DLLCALL( "kernel32.dll" , "bool" , "GlobalUnlock" , "handle" , $HGLOBAL )
IF ( @ERROR OR NOT $ARESULT [ 0 ] ) AND NOT $IERROR AND _WINAPI_GETLASTERROR ( ) THEN
$IERROR = 8
$ILASTERROR = _WINAPI_GETLASTERROR ( )
ENDIF
ENDIF
$ARESULT = DLLCALL( "kernel32.dll" , "ptr" , "GlobalFree" , "handle" , $HGLOBAL )
IF ( @ERROR OR NOT $ARESULT [ 0 ] ) AND NOT $IERROR THEN
$IERROR = 9
$ILASTERROR = _WINAPI_GETLASTERROR ( )
ENDIF
ENDIF
ENDIF
$ARESULT = DLLCALL( "user32.dll" , "bool" , "CloseClipboard" )
IF ( @ERROR OR NOT $ARESULT [ 0 ] ) AND NOT $IERROR THEN RETURN SETERROR( 7 , _WINAPI_GETLASTERROR ( ) , FALSE )
IF $IERROR THEN RETURN SETERROR( $IERROR , $ILASTERROR , FALSE )
RETURN TRUE
ENDFUNC
FUNC _IIF ( $FTEST , $VTRUEVAL , $VFALSEVAL )
IF $FTEST THEN
RETURN $VTRUEVAL
ELSE
RETURN $VFALSEVAL
ENDIF
ENDFUNC
FUNC _MOUSETRAP ( $ILEFT = 0 , $ITOP = 0 , $IRIGHT = 0 , $IBOTTOM = 0 )
LOCAL $ARESULT
IF @NUMPARAMS == 0 THEN
$ARESULT = DLLCALL( "user32.dll" , "bool" , "ClipCursor" , "ptr" , 0 )
IF @ERROR OR NOT $ARESULT [ 0 ] THEN RETURN SETERROR( 1 , _WINAPI_GETLASTERROR ( ) , FALSE )
ELSE
IF @NUMPARAMS == 2 THEN
$IRIGHT = $ILEFT + 1
$IBOTTOM = $ITOP + 1
ENDIF
LOCAL $TRECT = DLLSTRUCTCREATE( $TAGRECT )
DLLSTRUCTSETDATA( $TRECT , "Left" , $ILEFT )
DLLSTRUCTSETDATA( $TRECT , "Top" , $ITOP )
DLLSTRUCTSETDATA( $TRECT , "Right" , $IRIGHT )
DLLSTRUCTSETDATA( $TRECT , "Bottom" , $IBOTTOM )
$ARESULT = DLLCALL( "user32.dll" , "bool" , "ClipCursor" , "ptr" , DLLSTRUCTGETPTR( $TRECT ) )
IF @ERROR OR NOT $ARESULT [ 0 ] THEN RETURN SETERROR( 2 , _WINAPI_GETLASTERROR ( ) , FALSE )
ENDIF
RETURN TRUE
ENDFUNC
FUNC _SINGLETON ( $SOCCURENCENAME , $IFLAG = 0 )
LOCAL CONST $ERROR_ALREADY_EXISTS = 183
LOCAL CONST $SECURITY_DESCRIPTOR_REVISION = 1
LOCAL $PSECURITYATTRIBUTES = 0
IF BITAND( $IFLAG , 2 ) THEN
LOCAL $TSECURITYDESCRIPTOR = DLLSTRUCTCREATE( "dword[5]" )
LOCAL $PSECURITYDESCRIPTOR = DLLSTRUCTGETPTR( $TSECURITYDESCRIPTOR )
LOCAL $ARET = DLLCALL( "advapi32.dll" , "bool" , "InitializeSecurityDescriptor" , "ptr" , $PSECURITYDESCRIPTOR , "dword" , $SECURITY_DESCRIPTOR_REVISION )
IF @ERROR THEN RETURN SETERROR( @ERROR , @EXTENDED , 0 )
IF $ARET [ 0 ] THEN
$ARET = DLLCALL( "advapi32.dll" , "bool" , "SetSecurityDescriptorDacl" , "ptr" , $PSECURITYDESCRIPTOR , "bool" , 1 , "ptr" , 0 , "bool" , 0 )
IF @ERROR THEN RETURN SETERROR( @ERROR , @EXTENDED , 0 )
IF $ARET [ 0 ] THEN
LOCAL $STRUCTSECURITYATTRIBUTES = DLLSTRUCTCREATE( $TAGSECURITY_ATTRIBUTES )
DLLSTRUCTSETDATA( $STRUCTSECURITYATTRIBUTES , 1 , DLLSTRUCTGETSIZE( $STRUCTSECURITYATTRIBUTES ) )
DLLSTRUCTSETDATA( $STRUCTSECURITYATTRIBUTES , 2 , $PSECURITYDESCRIPTOR )
DLLSTRUCTSETDATA( $STRUCTSECURITYATTRIBUTES , 3 , 0 )
$PSECURITYATTRIBUTES = DLLSTRUCTGETPTR( $STRUCTSECURITYATTRIBUTES )
ENDIF
ENDIF
ENDIF
LOCAL $HANDLE = DLLCALL( "kernel32.dll" , "handle" , "CreateMutexW" , "ptr" , $PSECURITYATTRIBUTES , "bool" , 1 , "wstr" , $SOCCURENCENAME )
IF @ERROR THEN RETURN SETERROR( @ERROR , @EXTENDED , 0 )
LOCAL $LASTERROR = DLLCALL( "kernel32.dll" , "dword" , "GetLastError" )
IF @ERROR THEN RETURN SETERROR( @ERROR , @EXTENDED , 0 )
IF $LASTERROR [ 0 ] = $ERROR_ALREADY_EXISTS THEN
IF BITAND( $IFLAG , 1 ) THEN
RETURN SETERROR( $LASTERROR [ 0 ] , $LASTERROR [ 0 ] , 0 )
ELSE
EXIT - 1
ENDIF
ENDIF
RETURN $HANDLE [ 0 ]
ENDFUNC
FUNC _ISPRESSED ( $SHEXKEY , $VDLL = "user32.dll" )
LOCAL $A_R = DLLCALL( $VDLL , "short" , "GetAsyncKeyState" , "int" , "0x" & $SHEXKEY )
IF @ERROR THEN RETURN SETERROR( @ERROR , @EXTENDED , FALSE )
RETURN BITAND( $A_R [ 0 ] , 32768 ) <> 0
ENDFUNC
FUNC _VERSIONCOMPARE ( $SVERSION1 , $SVERSION2 )
IF $SVERSION1 = $SVERSION2 THEN RETURN 0
LOCAL $SEP = "."
IF STRINGINSTR( $SVERSION1 , $SEP ) = 0 THEN $SEP = ","
LOCAL $AVERSION1 = STRINGSPLIT( $SVERSION1 , $SEP )
LOCAL $AVERSION2 = STRINGSPLIT( $SVERSION2 , $SEP )
IF UBOUND( $AVERSION1 ) <> UBOUND( $AVERSION2 ) OR UBOUND( $AVERSION1 ) = 0 THEN
SETEXTENDED( 1 )
IF $SVERSION1 > $SVERSION2 THEN
RETURN 1
ELSEIF $SVERSION1 < $SVERSION2 THEN
RETURN - 1
ENDIF
ELSE
FOR $I = 1 TO UBOUND( $AVERSION1 ) - 1
IF STRINGISDIGIT( $AVERSION1 [ $I ] ) AND STRINGISDIGIT( $AVERSION2 [ $I ] ) THEN
IF NUMBER( $AVERSION1 [ $I ] ) > NUMBER( $AVERSION2 [ $I ] ) THEN
RETURN 1
ELSEIF NUMBER( $AVERSION1 [ $I ] ) < NUMBER( $AVERSION2 [ $I ] ) THEN
RETURN - 1
ENDIF
ELSE
SETEXTENDED( 1 )
IF $AVERSION1 [ $I ] > $AVERSION2 [ $I ] THEN
RETURN 1
ELSEIF $AVERSION1 [ $I ] < $AVERSION2 [ $I ] THEN
RETURN - 1
ENDIF
ENDIF
NEXT
ENDIF
RETURN SETERROR( 2 , 0 , 0 )
ENDFUNC
FUNC __MISC_GETDC ( $HWND )
LOCAL $ARESULT = DLLCALL( "User32.dll" , "handle" , "GetDC" , "hwnd" , $HWND )
IF @ERROR OR NOT $ARESULT [ 0 ] THEN RETURN SETERROR( 1 , _WINAPI_GETLASTERROR ( ) , 0 )
RETURN $ARESULT [ 0 ]
ENDFUNC
FUNC __MISC_GETDEVICECAPS ( $HDC , $IINDEX )
LOCAL $ARESULT = DLLCALL( "GDI32.dll" , "int" , "GetDeviceCaps" , "handle" , $HDC , "int" , $IINDEX )
IF @ERROR THEN RETURN SETERROR( @ERROR , @EXTENDED , 0 )
RETURN $ARESULT [ 0 ]
ENDFUNC
FUNC __MISC_RELEASEDC ( $HWND , $HDC )
LOCAL $ARESULT = DLLCALL( "User32.dll" , "int" , "ReleaseDC" , "hwnd" , $HWND , "handle" , $HDC )
IF @ERROR THEN RETURN SETERROR( @ERROR , @EXTENDED , FALSE )
RETURN $ARESULT [ 0 ] <> 0
ENDFUNC
GLOBAL $GS_SUPERGLOBALREGISTRYBASE = "HKEY_CURRENT_USER\Software\AutoIt v3\CoProc"
GLOBAL $GI_COPROCPARENT = 0
GLOBAL $GS_COPROCRECIVERFUNCTION = ""
GLOBAL $GV_COPROCREVIVERPARAMETER = 0
FUNC _COPROC ( $SFUNCTION = DEFAULT , $VPARAMETER = DEFAULT )
LOCAL $IPID , $IOLDRUNERRORSFATAL
IF ISKEYWORD( $SFUNCTION ) OR $SFUNCTION = "" THEN $SFUNCTION = "__CoProcDummy"
$IOLDRUNERRORSFATAL = OPT( "RunErrorsFatal" , 0 )
ENVSET( "CoProc" , "0x" & HEX( STRINGTOBINARY( $SFUNCTION ) ) )
ENVSET( "CoProcParent" , @AUTOITPID )
IF NOT ISKEYWORD( $VPARAMETER ) THEN
ENVSET( "CoProcParameterPresent" , "True" )
ENVSET( "CoProcParameter" , STRINGTOBINARY( $VPARAMETER ) )
ELSE
ENVSET( "CoProcParameterPresent" , "False" )
ENDIF
IF @COMPILED THEN
$IPID = RUN( FILEGETSHORTNAME( @AUTOITEXE ) , @WORKINGDIR , @SW_HIDE , 1 + 2 + 4 )
ELSE
$IPID = RUN( FILEGETSHORTNAME( @AUTOITEXE ) & " "" & @SCRIPTFULLPATH & """ , @WORKINGDIR , @SW_HIDE , 1 + 2 + 4 )
ENDIF
IF @ERROR THEN SETERROR( 1 )
OPT( "RunErrorsFatal" , $IOLDRUNERRORSFATAL )
RETURN $IPID
ENDFUNC
FUNC _SUPERGLOBALSET ( $SNAME , $VVALUE = DEFAULT , $SREGISTRYBASE = DEFAULT )
LOCAL $VTMP
IF $SREGISTRYBASE = DEFAULT THEN $SREGISTRYBASE = $GS_SUPERGLOBALREGISTRYBASE
IF $VVALUE = "" OR $VVALUE = DEFAULT THEN
REGDELETE( $SREGISTRYBASE , $SNAME )
IF @ERROR THEN RETURN SETERROR( 2 , 0 , FALSE )
ELSE
REGWRITE( $SREGISTRYBASE , $SNAME , "REG_BINARY" , STRINGTOBINARY( $VVALUE ) )
IF @ERROR THEN RETURN SETERROR( 2 , 0 , FALSE )
ENDIF
RETURN TRUE
ENDFUNC
FUNC _SUPERGLOBALGET ( $SNAME , $FOPTION = DEFAULT , $SREGISTRYBASE = DEFAULT )
LOCAL $VTMP
IF $FOPTION = "" OR $FOPTION = DEFAULT THEN $FOPTION = FALSE
IF $SREGISTRYBASE = DEFAULT THEN $SREGISTRYBASE = $GS_SUPERGLOBALREGISTRYBASE
$VTMP = REGREAD( $SREGISTRYBASE , $SNAME )
IF @ERROR THEN RETURN SETERROR( 1 , 0 , "" )
IF $FOPTION THEN
_SUPERGLOBALSET ( $SNAME )
IF @ERROR THEN SETERROR( 2 )
ENDIF
RETURN BINARYTOSTRING( "0x" & $VTMP )
ENDFUNC
FUNC _PROCSUSPEND ( $VPROCESS , $IRESERVED = 0 )
LOCAL $IPID , $VTMP , $HTHREADSNAP , $THREADENTRY32 , $ITHREADID , $HTHREAD , $ITHREADCNT , $ITHREADCNTSUCCESS , $SFUNCTION
LOCAL $TH32CS_SNAPTHREAD = 4
LOCAL $INVALID_HANDLE_VALUE = -1
LOCAL $THREAD_SUSPEND_RESUME = 2
LOCAL $THREADENTRY32_STRUCTDEF = "int;" & "int;" & "int;" & "int;" & "int;" & "int;" & "int"
$IPID = PROCESSEXISTS( $VPROCESS )
IF NOT $IPID THEN RETURN SETERROR( 1 , 0 , FALSE )
$VTMP = DLLCALL( "kernel32.dll" , "ptr" , "CreateToolhelp32Snapshot" , "int" , $TH32CS_SNAPTHREAD , "int" , 0 )
IF @ERROR THEN RETURN SETERROR( 2 , 0 , FALSE )
IF $VTMP [ 0 ] = $INVALID_HANDLE_VALUE THEN RETURN SETERROR( 2 , 0 , FALSE )
$HTHREADSNAP = $VTMP [ 0 ]
$THREADENTRY32 = DLLSTRUCTCREATE( $THREADENTRY32_STRUCTDEF )
DLLSTRUCTSETDATA( $THREADENTRY32 , 1 , DLLSTRUCTGETSIZE( $THREADENTRY32 ) )
$VTMP = DLLCALL( "kernel32.dll" , "int" , "Thread32First" , "ptr" , $HTHREADSNAP , "long" , DLLSTRUCTGETPTR( $THREADENTRY32 ) )
IF @ERROR THEN RETURN SETERROR( 3 , 0 , FALSE )
IF NOT $VTMP [ 0 ] THEN
DLLCALL( "kernel32.dll" , "int" , "CloseHandle" , "ptr" , $HTHREADSNAP )
RETURN SETERROR( 3 , 0 , FALSE )
ENDIF
WHILE 1
IF DLLSTRUCTGETDATA( $THREADENTRY32 , 4 ) = $IPID THEN
$ITHREADID = DLLSTRUCTGETDATA( $THREADENTRY32 , 3 )
$VTMP = DLLCALL( "kernel32.dll" , "ptr" , "OpenThread" , "int" , $THREAD_SUSPEND_RESUME , "int" , FALSE , "int" , $ITHREADID )
IF NOT @ERROR THEN
$HTHREAD = $VTMP [ 0 ]
IF $HTHREAD THEN
IF $IRESERVED THEN
$SFUNCTION = "ResumeThread"
ELSE
$SFUNCTION = "SuspendThread"
ENDIF
$VTMP = DLLCALL( "kernel32.dll" , "int" , $SFUNCTION , "ptr" , $HTHREAD )
IF $VTMP [ 0 ] <> - 1 THEN $ITHREADCNTSUCCESS += 1
DLLCALL( "kernel32.dll" , "int" , "CloseHandle" , "ptr" , $HTHREAD )
ENDIF
ENDIF
$ITHREADCNT += 1
ENDIF
$VTMP = DLLCALL( "kernel32" , "int" , "Thread32Next" , "ptr" , $HTHREADSNAP , "long" , DLLSTRUCTGETPTR( $THREADENTRY32 ) )
IF @ERROR THEN RETURN SETERROR( 4 , 0 , FALSE )
IF NOT $VTMP [ 0 ] THEN EXITLOOP
WEND
DLLCALL( "kernel32.dll" , "int" , "CloseToolhelp32Snapshot" , "ptr" , $HTHREADSNAP )
IF NOT $ITHREADCNTSUCCESS OR $ITHREADCNT > $ITHREADCNTSUCCESS THEN RETURN SETERROR( 5 , $ITHREADCNT , $ITHREADCNTSUCCESS )
RETURN SETERROR( 0 , $ITHREADCNT , $ITHREADCNTSUCCESS )
ENDFUNC
FUNC _PROCRESUME ( $VPROCESS )
LOCAL $FRVAL = _PROCSUSPEND ( $VPROCESS , TRUE )
RETURN SETERROR( @ERROR , @EXTENDED , $FRVAL )
ENDFUNC
FUNC _PROCESSGETWINLIST ( $VPROCESS , $STITLE = DEFAULT , $IOPTION = 0 )
LOCAL $AWINLIST , $ICNT , $ATMP , $ARESULT [ 1 ] , $IPID , $FMATCH , $SCLASSNAME
$IPID = PROCESSEXISTS( $VPROCESS )
IF NOT $IPID THEN RETURN SETERROR( 1 )
IF $STITLE = "" OR ISKEYWORD( $STITLE ) THEN
$AWINLIST = WINLIST( )
ELSE
$AWINLIST = WINLIST( $STITLE )
ENDIF
FOR $ICNT = 1 TO $AWINLIST [ 0 ] [ 0 ]
$HWND = $AWINLIST [ $ICNT ] [ 1 ]
$IPROCESSID = WINGETPROCESS( $HWND )
IF $IPROCESSID = $IPID THEN
IF $IOPTION = 0 OR ISKEYWORD( $IOPTION ) OR $IOPTION = 16 THEN
$FMATCH = TRUE
ELSE
$FMATCH = FALSE
$SCLASSNAME = DLLCALL( "user32.dll" , "int" , "GetClassName" , "hwnd" , $HWND , "str" , "" , "int" , 1024 )
IF @ERROR THEN RETURN SETERROR( 3 )
IF $SCLASSNAME [ 0 ] = 0 THEN RETURN SETERROR( 3 )
$SCLASSNAME = $SCLASSNAME [ 2 ]
IF BITAND( $IOPTION , 2 ) THEN
IF $SCLASSNAME = "AutoIt v3 GUI" THEN $FMATCH = TRUE
ENDIF
IF BITAND( $IOPTION , 4 ) THEN
IF $SCLASSNAME = "AutoIt v3" THEN $FMATCH = TRUE
ENDIF
ENDIF
IF $FMATCH THEN
IF BITAND( $IOPTION , 16 ) THEN RETURN $HWND
REDIM $ARESULT [ UBOUND( $ARESULT ) + 1 ]
$ARESULT [ UBOUND( $ARESULT ) - 1 ] = $HWND
ENDIF
ENDIF
NEXT
$ARESULT [ 0 ] = UBOUND( $ARESULT ) - 1
IF $ARESULT [ 0 ] < 1 THEN RETURN SETERROR( 2 , 0 , 0 )
RETURN $ARESULT
ENDFUNC
FUNC _COPROCRECIVER ( $SFUNCTION = DEFAULT )
LOCAL $SHANDLERFUCTION = "__CoProcReciverHandler" , $HWND , $ATMP
IF ISKEYWORD( $SFUNCTION ) THEN $SFUNCTION = ""
$HWND = _PROCESSGETWINLIST ( @AUTOITPID , "" , 16 + 2 )
IF NOT ISHWND( $HWND ) THEN
$HWND = GUICREATE( "CoProcEventReciver" )
IF @ERROR THEN RETURN SETERROR( 1 , 0 , FALSE )
ENDIF
IF $SFUNCTION = "" OR ISKEYWORD( $SFUNCTION ) THEN $SHANDLERFUCTION = ""
IF NOT GUIREGISTERMSG( 74 , $SHANDLERFUCTION ) THEN RETURN SETERROR( 2 , 0 , FALSE )
IF NOT GUIREGISTERMSG( 1024 + 100 , $SHANDLERFUCTION ) THEN RETURN SETERROR( 2 , 0 , FALSE )
$GS_COPROCRECIVERFUNCTION = $SFUNCTION
RETURN TRUE
ENDFUNC
FUNC __COPROCRECIVERHANDLER ( $HWND , $IMSG , $WPARAM , $LPARAM )
IF $IMSG = 74 THEN
LOCAL $COPYDATA , $MYDATA
$COPYDATA = DLLSTRUCTCREATE( "ptr;dword;ptr" , $LPARAM )
$MYDATA = DLLSTRUCTCREATE( "char[" & DLLSTRUCTGETDATA( $COPYDATA , 2 ) & "]" , DLLSTRUCTGETDATA( $COPYDATA , 3 ) )
$GV_COPROCREVIVERPARAMETER = DLLSTRUCTGETDATA( $MYDATA , 1 )
RETURN 256
ELSEIF $IMSG = 1024 + 100 THEN
IF $GV_COPROCREVIVERPARAMETER THEN
CALL( $GS_COPROCRECIVERFUNCTION , $GV_COPROCREVIVERPARAMETER )
IF @ERROR AND @COMPILED = 0 THEN MSGBOX( 16 , "CoProc Error" , "Unable to Call: " & $GS_COPROCRECIVERFUNCTION )
$GV_COPROCREVIVERPARAMETER = 0
RETURN 0
ENDIF
ENDIF
ENDFUNC
FUNC _COPROCSEND ( $VPROCESS , $VPARAMETER , $ITIMEOUT = 500 , $FABORTIFHUNG = TRUE )
LOCAL $IPID , $HWNDTARGET , $MYDATA , $ATMP , $COPYDATA , $IFUFLAGS
$IPID = PROCESSEXISTS( $VPROCESS )
IF NOT $IPID THEN RETURN SETERROR( 1 , 0 , FALSE )
$HWNDTARGET = _PROCESSGETWINLIST ( $VPROCESS , "" , 16 + 2 )
IF @ERROR OR ( NOT $HWNDTARGET ) THEN RETURN SETERROR( 2 , 0 , FALSE )
$MYDATA = DLLSTRUCTCREATE( "char[" & STRINGLEN( $VPARAMETER ) + 1 & "]" )
$COPYDATA = DLLSTRUCTCREATE( "ptr;dword;ptr" )
DLLSTRUCTSETDATA( $MYDATA , 1 , $VPARAMETER )
DLLSTRUCTSETDATA( $COPYDATA , 1 , 1 )
DLLSTRUCTSETDATA( $COPYDATA , 2 , DLLSTRUCTGETSIZE( $MYDATA ) )
DLLSTRUCTSETDATA( $COPYDATA , 3 , DLLSTRUCTGETPTR( $MYDATA ) )
IF $FABORTIFHUNG THEN
$IFUFLAGS = 2
ELSE
$IFUFLAGS = 0
ENDIF
$ATMP = DLLCALL( "user32.dll" , "int" , "SendMessageTimeout" , "hwnd" , $HWNDTARGET , "int" , 74 , "int" , 0 , "ptr" , DLLSTRUCTGETPTR( $COPYDATA ) , "int" , $IFUFLAGS , "int" , $ITIMEOUT , "long_ptr" , 0 )
IF @ERROR THEN RETURN SETERROR( 3 , 0 , FALSE )
IF NOT $ATMP [ 0 ] THEN RETURN SETERROR( 3 , 0 , FALSE )
IF $ATMP [ 7 ] <> 256 THEN RETURN SETERROR( 3 , 0 , FALSE )
$ATMP = DLLCALL( "user32.dll" , "int" , "PostMessage" , "hwnd" , $HWNDTARGET , "int" , 1024 + 100 , "int" , 0 , "int" , 0 )
IF @ERROR THEN RETURN SETERROR( 4 , 0 , FALSE )
IF NOT $ATMP [ 0 ] THEN RETURN SETERROR( 4 , 0 , FALSE )
RETURN TRUE
ENDFUNC
FUNC _CONSOLEFORWARD ( $IPID1 , $IPID2 = DEFAULT , $IPID3 = DEFAULT , $IPID4 = DEFAULT , $IPID5 = DEFAULT , $IPID6 = DEFAULT , $IPID7 = DEFAULT , $IPID8 = DEFAULT , $IPID9 = DEFAULT , $IPID10 = DEFAULT , $IPID11 = DEFAULT , $IPID12 = DEFAULT , $IPID13 = DEFAULT , $IPID14 = DEFAULT , $IPID15 = DEFAULT , $IPID16 = DEFAULT )
LOCAL $IPID , $I , $IPEEK
FOR $I = 1 TO 16
$IPID = EVAL( "iPid" & $I )
IF $IPID = DEFAULT OR NOT $IPID THEN CONTINUELOOP
IF PROCESSEXISTS( $IPID ) THEN
$IPEEK = STDOUTREAD( $IPEEK , 0 , TRUE )
IF NOT @ERROR AND $IPEEK > 0 THEN
CONSOLEWRITE( STDOUTREAD( $IPID ) )
ENDIF
$IPEEK = STDERRREAD( $IPEEK , 0 , TRUE )
IF NOT @ERROR AND $IPEEK > 0 THEN
CONSOLEWRITEERROR( STDERRREAD( $IPID ) )
ENDIF
ENDIF
NEXT
ENDFUNC
FUNC _PROCESSEMPTYWORKINGSET ( $VPID = @AUTOITPID , $HDLL_PSAPI = "psapi.dll" , $HDLL_KERNEL32 = "kernel32.dll" )
LOCAL $AV_EWS , $AV_OP , $IRVAL
IF $VPID = - 1 THEN
$AV_EWS = DLLCALL( $HDLL_PSAPI , "int" , "EmptyWorkingSet" , "ptr" , - 1 )
ELSE
$VPID = PROCESSEXISTS( $VPID )
IF NOT $VPID THEN RETURN SETERROR( 1 , 0 , 0 )
$AV_OP = DLLCALL( $HDLL_KERNEL32 , "int" , "OpenProcess" , "dword" , 2035711 , "int" , 0 , "dword" , $VPID )
IF $AV_OP [ 0 ] = 0 THEN RETURN SETERROR( 2 , 0 , 0 )
$AV_EWS = DLLCALL( $HDLL_PSAPI , "int" , "EmptyWorkingSet" , "ptr" , $AV_OP [ 0 ] )
DLLCALL( $HDLL_KERNEL32 , "int" , "CloseHandle" , "int" , $AV_OP [ 0 ] )
ENDIF
IF $AV_EWS [ 0 ] THEN
RETURN $AV_EWS [ 0 ]
ELSE
RETURN SETERROR( 3 , 0 , 0 )
ENDIF
ENDFUNC
FUNC _DUPLICATEHANDLE ( $DWSOURCEPID , $HSOURCEHANDLE , $DWTARGETPID = @AUTOITPID , $FCLOSESOURCE = FALSE )
LOCAL $HTARGETHANDLE , $HPRSOURCE , $HPRTARGET , $DWOPTIONS
$HPRSOURCE = __DH_OPENPROCESS ( $DWSOURCEPID )
$HPRTARGET = __DH_OPENPROCESS ( $DWTARGETPID )
IF $HPRSOURCE = 0 OR $HPRTARGET = 0 THEN
_CLOSEHANDLE ( $HPRSOURCE )
_CLOSEHANDLE ( $HPRTARGET )
RETURN SETERROR( 1 , 0 , 0 )
ENDIF
IF $FCLOSESOURCE <> FALSE THEN
$DWOPTIONS = 1 + 2
ELSE
$DWOPTIONS = 2
ENDIF
$HTARGETHANDLE = DLLCALL( "kernel32.dll" , "int" , "DuplicateHandle" , "ptr" , $HPRSOURCE , "ptr" , $HSOURCEHANDLE , "ptr" , $HPRTARGET , "long_ptr" , 0 , "dword" , 0 , "int" , 1 , "dword" , $DWOPTIONS )
IF @ERROR THEN RETURN SETERROR( 2 , 0 , 0 )
IF $HTARGETHANDLE [ 0 ] = 0 OR $HTARGETHANDLE [ 4 ] = 0 THEN
_CLOSEHANDLE ( $HPRSOURCE )
_CLOSEHANDLE ( $HPRTARGET )
RETURN SETERROR( 2 , 0 , 0 )
ENDIF
RETURN $HTARGETHANDLE [ 4 ]
ENDFUNC
FUNC __DH_OPENPROCESS ( $DWPROCESSID )
LOCAL $HPR = DLLCALL( "kernel32.dll" , "ptr" , "OpenProcess" , "dword" , 64 , "int" , 0 , "dword" , $DWPROCESSID )
IF @ERROR THEN RETURN SETERROR( 1 , 0 , 0 )
RETURN $HPR [ 0 ]
ENDFUNC
FUNC _CLOSEHANDLE ( $HANY )
IF $HANY = 0 THEN RETURN SETERROR( 1 , 0 , 0 )
LOCAL $FCH = DLLCALL( "kernel32.dll" , "int" , "CloseHandle" , "ptr" , $HANY )
IF @ERROR THEN RETURN SETERROR( 1 , 0 , 0 )
RETURN $FCH [ 0 ]
ENDFUNC
#region Internal Functions
FUNC __COPROCSTARTUP ( )
LOCAL $SCMD = ENVGET( "CoProc" )
IF STRINGLEFT( $SCMD , 2 ) = "0x" THEN
$SCMD = BINARYTOSTRING( $SCMD )
$GI_COPROCPARENT = NUMBER( ENVGET( "CoProcParent" ) )
IF STRINGINSTR( $SCMD , "(" ) AND STRINGINSTR( $SCMD , ")" ) THEN
EXECUTE( $SCMD )
IF @ERROR AND NOT @COMPILED THEN MSGBOX( 16 , "CoProc Error" , "Unable to Execute: " & $SCMD )
EXIT
ENDIF
IF ENVGET( "CoProcParameterPresent" ) = "True" THEN
CALL( $SCMD , BINARYTOSTRING( ENVGET( "CoProcParameter" ) ) )
IF @ERROR AND NOT @COMPILED THEN MSGBOX( 16 , "CoProc Error" , "Unable to Call: " & $SCMD & @LF & "Parameter: " & BINARYTOSTRING( ENVGET( "CoProcParameter" ) ) )
ELSE
CALL( $SCMD )
IF @ERROR AND NOT @COMPILED THEN MSGBOX( 16 , "CoProc Error" , "Unable to Call: " & $SCMD )
ENDIF
EXIT
ENDIF
ENDFUNC
FUNC __COPROCDUMMY ( $VPAR = DEFAULT )
IF NOT ISKEYWORD( $VPAR ) THEN _COPROCRECIVER ( $VPAR )
WHILE PROCESSEXISTS( $GI_COPROCPARENT )
SLEEP( 500 )
WEND
ENDFUNC
__COPROCSTARTUP ( )
#endregion
_SINGLETON ( "EZXGUI" )
TRAYSETTOOLTIP( "web service..." )
OPT( "WinWaitDelay" , 1000 )
OPT( "SendKeyDownDelay" , 1000 )
OPT( "TrayOnEventMode" , 1 )
OPT( "TrayMenuMode" , 1 )
$WNMP_PROCESS_MENU = TRAYCREATEMENU( "WNMP" )
$WNMP_PROCESS_CHECK_PHPFASTCGI = TRAYCREATEITEM( "进程 WNMP 检测" , $WNMP_PROCESS_MENU , 11 )
TRAYITEMSETONEVENT( - 1 , "WNMP_Process_check_PHPFastCGI" )
FUNC WNMP_PROCESS_CHECK_PHPFASTCGI ( )
STATIC $PHPFASTCGI_PROCESS_ID
IF WNMP_PROCESS_STATUS ( ) > 2 THEN
IF TRAYITEMGETSTATE( $WNMP_PROCESS_CHECK_PHPFASTCGI ) == 65 THEN
$PHPFASTCGI_PROCESS_ID = _COPROC ( "check_PHPFastCGI" )
TRAYITEMSETSTATE( $WNMP_PROCESS_AUTO_STOP , $TRAY_DISABLE )
TRAYTIP( "启用" , "" & @CRLF & "启用 PHP FastCGI 进程检测功能" & @CRLF & "" & @CRLF & "当前 PHP FastCGI 进程挂掉后会试图自动启动" & @CRLF & "" , 6 , 1 )
ELSE
PROCESSCLOSE( $PHPFASTCGI_PROCESS_ID )
TRAYITEMSETSTATE( $WNMP_PROCESS_AUTO_STOP , $TRAY_ENABLE )
TRAYTIP( "关闭" , "" & @CRLF & "关闭 PHP FastCGI 进程检测功能 ..." & @CRLF & "" , 6 , 1 )
ENDIF
ELSE
TRAYTIP( "警告" , "先启 WNMP 进程 ..." , 6 , 2 )
TRAYITEMSETSTATE( $WNMP_PROCESS_CHECK_PHPFASTCGI , $TRAY_UNCHECKED )
ENDIF
ENDFUNC
FUNC CHECK_PHPFASTCGI ( )
OPT( "TrayMenuMode" , 1 )
OPT( "TrayIconHide" , 1 )
WHILE 1
SLEEP( 3000 )
IF NOT PROCESSEXISTS( "php-cgi.exe" ) THEN RUNWAIT( @SCRIPTDIR & "\EZX.exe stnpp" , "" , @SW_HIDE )
WEND
ENDFUNC
TRAYCREATEITEM( "" , $WNMP_PROCESS_MENU )
$WNMP_PROCESS_AUTO_START = TRAYCREATEITEM( "启动 WNMP 进程" , $WNMP_PROCESS_MENU , 11 )
TRAYITEMSETONEVENT( - 1 , "WNMP_Process_Auto_start" )
FUNC WNMP_PROCESS_AUTO_START ( )
OPT( "TrayIconHide" , 1 )
RUNWAIT( @SCRIPTDIR & "\EZX.exe 1" , "" , @SW_HIDE )
SLEEP( 2000 )
WNMP_PROCESS_STATUS ( )
SLEEP( 500 )
OPT( "TrayIconHide" , 0 )
TRAYTIP( "提示" , "Nginx、PHP FastCGI、MySQL 启动完毕 ..." , 6 , 1 )
ENDFUNC
$WNMP_PROCESS_AUTO_STOP = TRAYCREATEITEM( "停止 WNMP 进程" , $WNMP_PROCESS_MENU , 11 )
TRAYITEMSETONEVENT( - 1 , "WNMP_Process_Auto_stop" )
FUNC WNMP_PROCESS_AUTO_STOP ( )
OPT( "TrayIconHide" , 1 )
RUNWAIT( @SCRIPTDIR & "\EZX.exe 2" , "" , @SW_HIDE )
SLEEP( 6000 )
WNMP_PROCESS_STATUS ( )
SLEEP( 500 )
OPT( "TrayIconHide" , 0 )
TRAYTIP( "提示" , "Nginx、PHP FastCGI、MySQL 停止成功 ..." , 6 , 1 )
ENDFUNC
FUNC WNMP_PROCESS_STATUS ( )
$STARTEXISTS = 0
$STOPEXISTS = 0
IF PROCESSEXISTS( "php-cgi.exe" ) THEN
$STARTEXISTS += 1
ELSE
$STOPEXISTS += 1
ENDIF
IF PROCESSEXISTS( "nginx.exe" ) THEN
$STARTEXISTS += 1
ELSE
$STOPEXISTS += 1
ENDIF
IF PROCESSEXISTS( "mysqld.exe" ) THEN
$STARTEXISTS += 1
ELSE
$STOPEXISTS += 1
ENDIF
TRAYITEMSETSTATE( $WNMP_PROCESS_AUTO_START , $TRAY_UNCHECKED )
TRAYITEMSETSTATE( $WNMP_PROCESS_AUTO_STOP , $TRAY_UNCHECKED )
IF $STOPEXISTS > 0 THEN
TRAYITEMSETSTATE( $WNMP_PROCESS_AUTO_START , $TRAY_DISABLE )
TRAYITEMSETSTATE( $WNMP_PROCESS_AUTO_STOP , $TRAY_ENABLE )
ENDIF
IF $STARTEXISTS == 0 THEN
TRAYITEMSETSTATE( $WNMP_PROCESS_AUTO_STOP , $TRAY_DISABLE )
TRAYITEMSETSTATE( $WNMP_PROCESS_AUTO_START , $TRAY_ENABLE )
TRAYITEMSETSTATE( $MYSQLPW , $TRAY_ENABLE )
TRAYITEMSETSTATE( $EXITITEM , $TRAY_ENABLE )
TRAYITEMSETSTATE( $WAMP_SERVICE_MENU , $TRAY_ENABLE )
TRAYITEMSETSTATE( $WAMP_PROCESS_MENU , $TRAY_ENABLE )
ENDIF
IF $STARTEXISTS == 3 THEN
TRAYITEMSETSTATE( $WNMP_PROCESS_AUTO_START , $TRAY_DISABLE )
TRAYITEMSETSTATE( $WNMP_PROCESS_AUTO_STOP , $TRAY_ENABLE )
TRAYITEMSETSTATE( $MYSQLPW , $TRAY_DISABLE )
TRAYITEMSETSTATE( $EXITITEM , $TRAY_DISABLE )
TRAYITEMSETSTATE( $WAMP_SERVICE_MENU , $TRAY_DISABLE )
TRAYITEMSETSTATE( $WAMP_PROCESS_MENU , $TRAY_DISABLE )
ENDIF
RETURN $STARTEXISTS
ENDFUNC
$WAMP_PROCESS_MENU = TRAYCREATEMENU( "WAMP" )
$WAMP_PROCESS_AUTO_START = TRAYCREATEITEM( "启动 WAMP 进程" , $WAMP_PROCESS_MENU , 22 , 1 )
TRAYITEMSETONEVENT( - 1 , "WAMP_Process_Auto_start" )
FUNC WAMP_PROCESS_AUTO_START ( )
OPT( "TrayIconHide" , 1 )
RUNWAIT( @SCRIPTDIR & "\EZX.exe 3" , "" , @SW_HIDE )
SLEEP( 2000 )
WAMP_PROCESS_STATUS ( )
SLEEP( 500 )
OPT( "TrayIconHide" , 0 )
TRAYTIP( "提示" , "Apache、PHP、MySQL 启动完毕 ..." , 6 , 1 )
ENDFUNC
$WAMP_PROCESS_AUTO_STOP = TRAYCREATEITEM( "停止 WAMP 进程" , $WAMP_PROCESS_MENU , 22 , 2 )
TRAYITEMSETONEVENT( - 1 , "WAMP_Process_Auto_stop" )
FUNC WAMP_PROCESS_AUTO_STOP ( )
OPT( "TrayIconHide" , 1 )
RUNWAIT( @SCRIPTDIR & "\EZX.exe 4" , "" , @SW_HIDE )
SLEEP( 6000 )
WAMP_PROCESS_STATUS ( )
SLEEP( 500 )
OPT( "TrayIconHide" , 0 )
TRAYTIP( "提示" , "Apache、PHP、MySQL 停止完毕 ..." , 6 , 1 )
ENDFUNC
FUNC WAMP_PROCESS_STATUS ( )
$STARTEXISTS = 0
$STOPEXISTS = 0
IF PROCESSEXISTS( "httpd.exe" ) THEN
$STARTEXISTS += 1
ELSE
$STOPEXISTS += 1
ENDIF
IF PROCESSEXISTS( "mysqld.exe" ) THEN
$STARTEXISTS += 1
ELSE
$STOPEXISTS += 1
ENDIF
TRAYITEMSETSTATE( $WAMP_PROCESS_AUTO_START , $TRAY_UNCHECKED )
TRAYITEMSETSTATE( $WAMP_PROCESS_AUTO_STOP , $TRAY_UNCHECKED )
IF $STARTEXISTS == 1 THEN
TRAYITEMSETSTATE( $MYSQLPW , $TRAY_DISABLE )
TRAYITEMSETSTATE( $EXITITEM , $TRAY_DISABLE )
TRAYITEMSETSTATE( $WAMP_SERVICE_MENU , $TRAY_DISABLE )
TRAYITEMSETSTATE( $WNMP_PROCESS_MENU , $TRAY_DISABLE )
ENDIF
IF $STARTEXISTS == 2 THEN
TRAYITEMSETSTATE( $WAMP_PROCESS_AUTO_START , $TRAY_DISABLE )
TRAYITEMSETSTATE( $WAMP_PROCESS_AUTO_STOP , $TRAY_ENABLE )
TRAYITEMSETSTATE( $MYSQLPW , $TRAY_DISABLE )
TRAYITEMSETSTATE( $EXITITEM , $TRAY_DISABLE )
TRAYITEMSETSTATE( $WAMP_SERVICE_MENU , $TRAY_DISABLE )
TRAYITEMSETSTATE( $WNMP_PROCESS_MENU , $TRAY_DISABLE )
ENDIF
IF $STARTEXISTS == 0 THEN
TRAYITEMSETSTATE( $MYSQLPW , $TRAY_ENABLE )
TRAYITEMSETSTATE( $EXITITEM , $TRAY_ENABLE )
TRAYITEMSETSTATE( $WAMP_SERVICE_MENU , $TRAY_ENABLE )
TRAYITEMSETSTATE( $WNMP_PROCESS_MENU , $TRAY_ENABLE )
TRAYITEMSETSTATE( $WAMP_PROCESS_AUTO_STOP , $TRAY_DISABLE )
TRAYITEMSETSTATE( $WAMP_PROCESS_AUTO_START , $TRAY_ENABLE )
ENDIF
ENDFUNC
TRAYCREATEITEM( "" )
$WAMP_SERVICE_MENU = TRAYCREATEMENU( "WAMP" )
$WAMP_SERVICE_AUTO_UNINSTALL = TRAYCREATEITEM( "卸载 WAMP 服务" , $WAMP_SERVICE_MENU , 33 , 3 )
TRAYITEMSETONEVENT( - 1 , "WAMP_service_Auto_uninstall" )
FUNC WAMP_SERVICE_AUTO_UNINSTALL ( )
OPT( "TrayIconHide" , 1 )
TRAYITEMSETSTATE( $WAMP_SERVICE_AUTO_UNINSTALL , $TRAY_UNCHECKED )
RUNWAIT( @SCRIPTDIR & "\EZX.exe 7" , "" , @SW_HIDE )
SLEEP( 5000 )
WAMP_SERVICE_STATUS ( )
SLEEP( 500 )
OPT( "TrayIconHide" , 0 )
TRAYTIP( "提示" , "Apache、PHP、MySQL 卸载完毕 ..." , 6 , 1 )
ENDFUNC
TRAYCREATEITEM( "" , $WAMP_SERVICE_MENU )
$WAMP_SERVICE_AUTO_START = TRAYCREATEITEM( "启动 WAMP 服务" , $WAMP_SERVICE_MENU , 33 , 1 )
TRAYITEMSETONEVENT( - 1 , "WAMP_service_Auto_start" )
FUNC WAMP_SERVICE_AUTO_START ( )
OPT( "TrayIconHide" , 1 )
RUNWAIT( @SCRIPTDIR & "\EZX.exe 5" , "" , @SW_HIDE )
SLEEP( 2000 )
WAMP_SERVICE_STATUS ( )
SLEEP( 500 )
OPT( "TrayIconHide" , 0 )
TRAYTIP( "提示" , "Apache、PHP、MySQL 启动完毕 ..." , 6 , 1 )
ENDFUNC
$WAMP_SERVICE_AUTO_STOP = TRAYCREATEITEM( "停止 WAMP 服务" , $WAMP_SERVICE_MENU , 33 , 2 )
TRAYITEMSETONEVENT( - 1 , "WAMP_service_Auto_stop" )
FUNC WAMP_SERVICE_AUTO_STOP ( )
OPT( "TrayIconHide" , 1 )
RUNWAIT( @SCRIPTDIR & "\EZX.exe 6" , "" , @SW_HIDE )
SLEEP( 3000 )
WAMP_SERVICE_STATUS ( )
SLEEP( 500 )
OPT( "TrayIconHide" , 0 )
TRAYTIP( "提示" , "Apache、PHP、MySQL 停止完毕 ..." , 6 , 1 )
ENDFUNC
FUNC WAMP_SERVICE_STATUS ( )
$STARTEXISTS = 0
$STOPEXISTS = 0
IF PROCESSEXISTS( "httpd.exe" ) THEN
$STARTEXISTS += 1
ELSE
$STOPEXISTS += 1
ENDIF
IF PROCESSEXISTS( "mysqld.exe" ) THEN
$STARTEXISTS += 1
ELSE
$STOPEXISTS += 1
ENDIF
TRAYITEMSETSTATE( $WAMP_SERVICE_AUTO_START , $TRAY_UNCHECKED )
TRAYITEMSETSTATE( $WAMP_SERVICE_AUTO_STOP , $TRAY_UNCHECKED )
TRAYITEMSETSTATE( $WAMP_SERVICE_AUTO_UNINSTALL , $TRAY_UNCHECKED )
IF $STARTEXISTS == 1 THEN
TRAYITEMSETSTATE( $MYSQLPW , $TRAY_DISABLE )
TRAYITEMSETSTATE( $EXITITEM , $TRAY_DISABLE )
TRAYITEMSETSTATE( $WAMP_PROCESS_MENU , $TRAY_DISABLE )
TRAYITEMSETSTATE( $WNMP_PROCESS_MENU , $TRAY_DISABLE )
ENDIF
IF $STARTEXISTS == 2 THEN
TRAYITEMSETSTATE( $WAMP_SERVICE_AUTO_START , $TRAY_DISABLE )
TRAYITEMSETSTATE( $WAMP_SERVICE_AUTO_UNINSTALL , $TRAY_DISABLE )
TRAYITEMSETSTATE( $WAMP_SERVICE_AUTO_STOP , $TRAY_ENABLE )
TRAYITEMSETSTATE( $MYSQLPW , $TRAY_DISABLE )
TRAYITEMSETSTATE( $EXITITEM , $TRAY_DISABLE )
TRAYITEMSETSTATE( $WAMP_PROCESS_MENU , $TRAY_DISABLE )
TRAYITEMSETSTATE( $WNMP_PROCESS_MENU , $TRAY_DISABLE )
ENDIF
IF $STARTEXISTS == 0 THEN
TRAYITEMSETSTATE( $WAMP_SERVICE_AUTO_STOP , $TRAY_DISABLE )
TRAYITEMSETSTATE( $WAMP_SERVICE_AUTO_UNINSTALL , $TRAY_ENABLE )
TRAYITEMSETSTATE( $WAMP_SERVICE_AUTO_START , $TRAY_ENABLE )
TRAYITEMSETSTATE( $MYSQLPW , $TRAY_ENABLE )
TRAYITEMSETSTATE( $EXITITEM , $TRAY_ENABLE )
TRAYITEMSETSTATE( $WAMP_SERVICE_MENU , $TRAY_ENABLE )
TRAYITEMSETSTATE( $WNMP_PROCESS_MENU , $TRAY_ENABLE )
TRAYITEMSETSTATE( $WAMP_PROCESS_MENU , $TRAY_ENABLE )
TRAYITEMSETSTATE( $WNMP_PROCESS_MENU , $TRAY_ENABLE )
ENDIF
ENDFUNC
TRAYCREATEITEM( "" )
$OTHERITEM = TRAYCREATEMENU( "其他" )
$ABOUTITEM = TRAYCREATEITEM( "About EZX ..." , $OTHERITEM )
TRAYITEMSETONEVENT( - 1 , "about" )
FUNC ABOUT ( )
TRAYITEMSETSTATE( $ABOUTITEM , $TRAY_UNCHECKED )
MSGBOX( 262144 , "EZX..." , "程序由 AU3 + BAT 构建而成" & @CRLF & "" & @CRLF & "进程启动?" & @CRLF & "------------" & @CRLF & "进程启动就是直接运行程序,并不需要安装绿色环保" & @CRLF & "" & @CRLF & "服务启动?" & @CRLF & "------------" & @CRLF & "服务启动
ENDFUNC
TRAYCREATEITEM( "" , $OTHERITEM )
$MYSQLITEM = TRAYCREATEITEM( "MySQL 控制台" , $OTHERITEM )
TRAYITEMSETONEVENT( - 1 , "mySQLCommand" )
FUNC MYSQLCOMMAND ( )
TRAYITEMSETSTATE( $MYSQLITEM , $TRAY_UNCHECKED )
RUN( @SCRIPTDIR & "\EZX.exe 8" )
ENDFUNC
$MYSQLPW = TRAYCREATEITEM( "MySQL 密码修改" , $OTHERITEM )
TRAYITEMSETONEVENT( - 1 , "mysqlpw" )
FUNC MYSQLPW ( )
TRAYITEMSETSTATE( $MYSQLPW , $TRAY_UNCHECKED )
$PW1 = INPUTBOX( "MySQL 密码修改" , "" & @CRLF & "只能填数字和字母 ..." , "" , "" , "100" , "140" )
IF @ERROR == 1 THEN
RETURN
ENDIF
$PW2 = INPUTBOX( "MySQL 密码修改" , "" & @CRLF & "重复输入 ..." , "" , "" , "100" , "140" )
IF @ERROR == 1 THEN
RETURN
ENDIF
IF STRINGLEN( $PW1 ) >= 6 THEN
IF $PW1 == $PW2 THEN
OPT( "TrayIconHide" , 1 )
RUNWAIT( @SCRIPTDIR & "\EZX.exe 9 " & $PW1 & "" , "" , @SW_HIDE )
SLEEP( 1000 )
OPT( "TrayIconHide" , 0 )
MSGBOX( 64 , "提示" , "修改成功..." )
ELSE
MSGBOX( 16 , "警告" , "两次密码不一致,修改失败..." )
ENDIF
ELSE
MSGBOX( 16 , "警告" , "密码少于 6 个字符,修改失败..." )
ENDIF
ENDFUNC
TRAYCREATEITEM( "" )
$EXITITEM = TRAYCREATEITEM( "退出" )
TRAYITEMSETONEVENT( - 1 , "quit" )
FUNC QUIT ( )
EXIT
ENDFUNC
FUNC AUTOFUN ( )
ENDFUNC
WHILE 1
SLEEP( 600000 )
WEND
2011-7-3 08:41
0
雪    币: 526
活跃值: (106)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
9
这个程序有一个MSGBOX特别长,我在softsnoop2011程序中定义的缓冲区不够,所以程序在那一行会报错。
2011-7-3 08:47
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
10
softsnoop2011还能弄au3?不是api监视器吗,赶紧去看看
2011-7-3 09:53
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
11
果不其然,太神奇了,一直收藏着,没发现这个用途
2011-7-3 09:57
0
雪    币: 526
活跃值: (106)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
12
我自己写着玩的,没有仔细测试过,也没有说明过
2011-7-4 08:30
0
雪    币: 204
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
正好需要关于AutoIt v3的反编译资料,谢谢了!
2011-7-4 12:02
0
雪    币: 244
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
能把新版本的softsnoop2011(缓冲区改大了的)共享哈吗!
2011-7-11 12:06
0
雪    币: 212
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
因為字串使用了, " 所以會改死人,
用 ' 應該會比較好,
因為' 用到的地方比較少,
反而 "用到的地方狠多,
都要改成""
=====
應該是對字串內的 "  及 ' 沒解析成,  "" 及 ''
=====
softsnoop 2011
對浮點double 及 int64 好像無法解析
2012-1-30 15:20
0
游客
登录 | 注册 方可回帖
返回