Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; <AUT2EXE VERSION: 3.2.4.9>
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\Core.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\NomadMemory.au3>
- ; ----------------------------------------------------------------------------
- #region _Memory
- ;==================================================================================
- ; AutoIt Version: 3.1.127 (beta)
- ; Language: English
- ; Platform: All Windows
- ; Author: Nomad
- ; Requirements: These functions will only work with beta.
- ;==================================================================================
- ; Credits: wOuter - These functions are based on his original _Mem() functions.
- ; But they are easier to comprehend and more reliable. These
- ; functions are in no way a direct copy of his functions. His
- ; functions only provided a foundation from which these evolved.
- ;==================================================================================
- ;
- ; Functions:
- ;
- ;==================================================================================
- ; Function: _MemoryOpen($iv_Pid[, $iv_DesiredAccess[, $iv_InheritHandle]])
- ; Description: Opens a process and enables all possible access rights to the
- ; process. The Process ID of the process is used to specify which
- ; process to open. You must call this function before calling
- ; _MemoryClose(), _MemoryRead(), or _MemoryWrite().
- ; Parameter(s): $iv_Pid - The Process ID of the program you want to open.
- ; $iv_DesiredAccess - (optional) Set to 0x1F0FFF by default, which
- ; enables all possible access rights to the
- ; process specified by the Process ID.
- ; $iv_InheritHandle - (optional) If this value is TRUE, all processes
- ; created by this process will inherit the access
- ; handle. Set to 1 (TRUE) by default. Set to 0
- ; if you want it FALSE.
- ; Requirement(s): None.
- ; Return Value(s): On Success - Returns an array containing the Dll handle and an
- ; open handle to the specified process.
- ; On Failure - Returns 0
- ; @Error - 0 = No error.
- ; 1 = Invalid $iv_Pid.
- ; 2 = Failed to open Kernel32.dll.
- ; 3 = Failed to open the specified process.
- ; Author(s): Nomad
- ; Note(s):
- ;==================================================================================
- Func _MemoryOpen($iv_Pid, $iv_DesiredAccess = 0x1F0FFF, $iv_InheritHandle = 1)
- If Not ProcessExists($iv_Pid) Then
- SetError(1)
- Return 0
- EndIf
- Local $ah_Handle[2] = [DllOpen('kernel32.dll')]
- If @Error Then
- SetError(2)
- Return 0
- EndIf
- Local $av_OpenProcess = DllCall($ah_Handle[0], 'int', 'OpenProcess', 'int', $iv_DesiredAccess, 'int', $iv_InheritHandle, 'int', $iv_Pid)
- If @Error Then
- DllClose($ah_Handle[0])
- SetError(3)
- Return 0
- EndIf
- $ah_Handle[1] = $av_OpenProcess[0]
- Return $ah_Handle
- EndFunc
- ;==================================================================================
- ; Function: _MemoryRead($iv_Address, $ah_Handle[, $sv_Type])
- ; Description: Reads the value located in the memory address specified.
- ; Parameter(s): $iv_Address - The memory address you want to read from. It must
- ; be in hex format (0x00000000).
- ; $ah_Handle - An array containing the Dll handle and the handle
- ; of the open process as returned by _MemoryOpen().
- ; $sv_Type - (optional) The "Type" of value you intend to read.
- ; This is set to 'dword'(32bit(4byte) signed integer)
- ; by default. See the help file for DllStructCreate
- ; for all types. An example: If you want to read a
- ; word that is 15 characters in length, you would use
- ; 'char[16]' since a 'char' is 8 bits (1 byte) in size.
- ; Return Value(s): On Success - Returns the value located at the specified address.
- ; On Failure - Returns 0
- ; @Error - 0 = No error.
- ; 1 = Invalid $ah_Handle.
- ; 2 = $sv_Type was not a string.
- ; 3 = $sv_Type is an unknown data type.
- ; 4 = Failed to allocate the memory needed for the DllStructure.
- ; 5 = Error allocating memory for $sv_Type.
- ; 6 = Failed to read from the specified process.
- ; Author(s): Nomad
- ; Note(s): Values returned are in Decimal format, unless specified as a
- ; 'char' type, then they are returned in ASCII format. Also note
- ; that size ('char[size]') for all 'char' types should be 1
- ; greater than the actual size.
- ;==================================================================================
- Func _MemoryRead($iv_Address, $ah_Handle, $sv_Type = 'dword')
- If Not IsArray($ah_Handle) Then
- SetError(1)
- Return 0
- EndIf
- Local $v_Buffer = DllStructCreate($sv_Type)
- If @Error Then
- SetError(@Error + 1)
- Return 0
- EndIf
- DllCall($ah_Handle[0], 'int', 'ReadProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')
- If Not @Error Then
- Local $v_Value = DllStructGetData($v_Buffer, 1)
- Return $v_Value
- Else
- SetError(6)
- Return 0
- EndIf
- EndFunc
- ;==================================================================================
- ; Function: _MemoryWrite($iv_Address, $ah_Handle, $v_Data[, $sv_Type])
- ; Description: Writes data to the specified memory address.
- ; Parameter(s): $iv_Address - The memory address which you want to write to.
- ; It must be in hex format (0x00000000).
- ; $ah_Handle - An array containing the Dll handle and the handle
- ; of the open process as returned by _MemoryOpen().
- ; $v_Data - The data to be written.
- ; $sv_Type - (optional) The "Type" of value you intend to write.
- ; This is set to 'dword'(32bit(4byte) signed integer)
- ; by default. See the help file for DllStructCreate
- ; for all types. An example: If you want to write a
- ; word that is 15 characters in length, you would use
- ; 'char[16]' since a 'char' is 8 bits (1 byte) in size.
- ; Return Value(s): On Success - Returns 1
- ; On Failure - Returns 0
- ; @Error - 0 = No error.
- ; 1 = Invalid $ah_Handle.
- ; 2 = $sv_Type was not a string.
- ; 3 = $sv_Type is an unknown data type.
- ; 4 = Failed to allocate the memory needed for the DllStructure.
- ; 5 = Error allocating memory for $sv_Type.
- ; 6 = $v_Data is not in the proper format to be used with the
- ; "Type" selected for $sv_Type, or it is out of range.
- ; 7 = Failed to write to the specified process.
- ; Author(s): Nomad
- ; Note(s): Values sent must be in Decimal format, unless specified as a
- ; 'char' type, then they must be in ASCII format. Also note
- ; that size ('char[size]') for all 'char' types should be 1
- ; greater than the actual size.
- ;==================================================================================
- Func _MemoryWrite($iv_Address, $ah_Handle, $v_Data, $sv_Type = 'dword')
- If Not IsArray($ah_Handle) Then
- SetError(1)
- Return 0
- EndIf
- Local $v_Buffer = DllStructCreate($sv_Type)
- If @Error Then
- SetError(@Error + 1)
- Return 0
- Else
- DllStructSetData($v_Buffer, 1, $v_Data)
- If @Error Then
- SetError(6)
- Return 0
- EndIf
- EndIf
- DllCall($ah_Handle[0], 'int', 'WriteProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')
- If Not @Error Then
- Return 1
- Else
- SetError(7)
- Return 0
- EndIf
- EndFunc
- ;==================================================================================
- ; Function: _MemoryClose($ah_Handle)
- ; Description: Closes the process handle opened by using _MemoryOpen().
- ; Parameter(s): $ah_Handle - An array containing the Dll handle and the handle
- ; of the open process as returned by _MemoryOpen().
- ; Return Value(s): On Success - Returns 1
- ; On Failure - Returns 0
- ; @Error - 0 = No error.
- ; 1 = Invalid $ah_Handle.
- ; 2 = Unable to close the process handle.
- ; Author(s): Nomad
- ; Note(s):
- ;==================================================================================
- Func _MemoryClose($ah_Handle)
- If Not IsArray($ah_Handle) Then
- SetError(1)
- Return 0
- EndIf
- DllCall($ah_Handle[0], 'int', 'CloseHandle', 'int', $ah_Handle[1])
- If Not @Error Then
- DllClose($ah_Handle[0])
- Return 1
- Else
- DllClose($ah_Handle[0])
- SetError(2)
- Return 0
- EndIf
- EndFunc
- ;==================================================================================
- ; Function: SetPrivilege( $privilege, $bEnable )
- ; Description: Enables (or disables) the $privilege on the current process
- ; (Probably) requires administrator privileges to run
- ;
- ; Author(s): Larry (from autoitscript.com's Forum)
- ; Notes(s):
- ; http://www.autoitscript.com/forum/index.php?s=&showtopic=31248&view=findpost&p=223999
- ;==================================================================================
- Func SetPrivilege( $privilege, $bEnable )
- Const $MY_TOKEN_ADJUST_PRIVILEGES = 0x0020
- Const $MY_TOKEN_QUERY = 0x0008
- Const $MY_SE_PRIVILEGE_ENABLED = 0x0002
- Local $hToken, $SP_auxret, $SP_ret, $hCurrProcess, $nTokens, $nTokenIndex, $priv
- $nTokens = 1
- $LUID = DLLStructCreate("dword;int")
- If IsArray($privilege) Then $nTokens = UBound($privilege)
- $TOKEN_PRIVILEGES = DLLStructCreate("dword;dword[" & (3 * $nTokens) & "]")
- $NEWTOKEN_PRIVILEGES = DLLStructCreate("dword;dword[" & (3 * $nTokens) & "]")
- $hCurrProcess = DLLCall("kernel32.dll","hwnd","GetCurrentProcess")
- $SP_auxret = DLLCall("advapi32.dll","int","OpenProcessToken","hwnd",$hCurrProcess[0], _
- "int",BitOR($MY_TOKEN_ADJUST_PRIVILEGES,$MY_TOKEN_QUERY),"int*",0)
- If $SP_auxret[0] Then
- $hToken = $SP_auxret[3]
- DLLStructSetData($TOKEN_PRIVILEGES,1,1)
- $nTokenIndex = 1
- While $nTokenIndex <= $nTokens
- If IsArray($privilege) Then
- $priv = $privilege[$nTokenIndex-1]
- Else
- $priv = $privilege
- EndIf
- $ret = DLLCall("advapi32.dll","int","LookupPrivilegeValue","str","","str",$priv, _
- "ptr",DLLStructGetPtr($LUID))
- If $ret[0] Then
- If $bEnable Then
- DLLStructSetData($TOKEN_PRIVILEGES,2,$MY_SE_PRIVILEGE_ENABLED,(3 * $nTokenIndex))
- Else
- DLLStructSetData($TOKEN_PRIVILEGES,2,0,(3 * $nTokenIndex))
- EndIf
- DLLStructSetData($TOKEN_PRIVILEGES,2,DllStructGetData($LUID,1),(3 * ($nTokenIndex-1)) + 1)
- DLLStructSetData($TOKEN_PRIVILEGES,2,DllStructGetData($LUID,2),(3 * ($nTokenIndex-1)) + 2)
- DLLStructSetData($LUID,1,0)
- DLLStructSetData($LUID,2,0)
- EndIf
- $nTokenIndex += 1
- WEnd
- $ret = DLLCall("advapi32.dll","int","AdjustTokenPrivileges","hwnd",$hToken,"int",0, _
- "ptr",DllStructGetPtr($TOKEN_PRIVILEGES),"int",DllStructGetSize($NEWTOKEN_PRIVILEGES), _
- "ptr",DllStructGetPtr($NEWTOKEN_PRIVILEGES),"int*",0)
- $f = DLLCall("kernel32.dll","int","GetLastError")
- EndIf
- $NEWTOKEN_PRIVILEGES=0
- $TOKEN_PRIVILEGES=0
- $LUID=0
- If $SP_auxret[0] = 0 Then Return 0
- $SP_auxret = DLLCall("kernel32.dll","int","CloseHandle","hwnd",$hToken)
- If Not $ret[0] And Not $SP_auxret[0] Then Return 0
- return $ret[0]
- EndFunc ;==>SetPrivilege
- ;===================================================================================================
- ; Function........: _MemoryGetBaseAddress($ah_Handle, $iHD)
- ;
- ; Description.....: Reads the 'Allocation Base' from the open process.
- ;
- ; Parameter(s)....: $ah_Handle - An array containing the Dll handle and the handle of the open
- ; process as returned by _MemoryOpen().
- ; $iHD - Return type:
- ; |0 = Hex (Default)
- ; |1 = Dec
- ;
- ; Requirement(s)..: A valid process ID.
- ;
- ; Return Value(s).: On Success - Returns the 'allocation Base' address and sets @Error to 0.
- ; On Failure - Returns 0 and sets @Error to:
- ; |1 = Invalid $ah_Handle.
- ; |2 = Failed to find correct allocation address.
- ; |3 = Failed to read from the specified process.
- ;
- ; Author(s).......: Nomad. Szhlopp.
- ; URL.............: http://www.autoitscript.com/forum/index.php?showtopic=78834
- ; Note(s).........: Go to Www.CheatEngine.org for the latest version of CheatEngine.
- ;===================================================================================================
- Func _MemoryGetBaseAddress($ah_Handle, $iHexDec = 0)
- Local $iv_Address = 0x00100000
- Local $v_Buffer = DllStructCreate('dword;dword;dword;dword;dword;dword;dword')
- Local $vData
- Local $vType
- If Not IsArray($ah_Handle) Then
- SetError(1)
- Return 0
- EndIf
- DllCall($ah_Handle[0], 'int', 'VirtualQueryEx', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer))
- If Not @Error Then
- $vData = Hex(DllStructGetData($v_Buffer, 2))
- $vType = Hex(DllStructGetData($v_Buffer, 3))
- While $vType <> "00000080"
- DllCall($ah_Handle[0], 'int', 'VirtualQueryEx', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer))
- $vData = Hex(DllStructGetData($v_Buffer, 2))
- $vType = Hex(DllStructGetData($v_Buffer, 3))
- If Hex($iv_Address) = "01000000" Then ExitLoop
- $iv_Address += 65536
- WEnd
- If $vType = "00000080" Then
- SetError(0)
- If $iHexDec = 1 Then
- Return Dec($vData)
- Else
- Return $vData
- EndIf
- Else
- SetError(2)
- Return 0
- EndIf
- Else
- SetError(3)
- Return 0
- EndIf
- EndFunc ;==>_MemoryGetBaseAddress
- #endregion
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\NomadMemory.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\MouseClick.au3>
- ; ----------------------------------------------------------------------------
- Func _MouseClickPlus($Window, $Button = "left", $X = "", $Y = "", $Clicks = 1)
- Local $MK_LBUTTON = 0x0001
- Local $WM_LBUTTONDOWN = 0x0201
- Local $WM_LBUTTONUP = 0x0202
- Local $MK_RBUTTON = 0x0002
- Local $WM_RBUTTONDOWN = 0x0204
- Local $WM_RBUTTONUP = 0x0205
- Local $WM_MOUSEMOVE = 0x0200
- Local $i = 0
- Select
- Case $Button = "left"
- $Button = $MK_LBUTTON
- $ButtonDown = $WM_LBUTTONDOWN
- $ButtonUp = $WM_LBUTTONUP
- Case $Button = "right"
- $Button = $MK_RBUTTON
- $ButtonDown = $WM_RBUTTONDOWN
- $ButtonUp = $WM_RBUTTONUP
- EndSelect
- If $X = "" OR $Y = "" Then
- $MouseCoord = MouseGetPos()
- $X = $MouseCoord[0]
- $Y = $MouseCoord[1]
- EndIf
- For $i = 1 to $Clicks
- DllCall("user32.dll", "int", "SendMessage", _
- "hwnd", WinGetHandle( $Window ), _
- "int", $WM_MOUSEMOVE, _
- "int", 0, _
- "long", _MakeLong($X, $Y))
- DllCall("user32.dll", "int", "SendMessage", _
- "hwnd", WinGetHandle( $Window ), _
- "int", $ButtonDown, _
- "int", $Button, _
- "long", _MakeLong($X, $Y))
- DllCall("user32.dll", "int", "SendMessage", _
- "hwnd", WinGetHandle( $Window ), _
- "int", $ButtonUp, _
- "int", $Button, _
- "long", _MakeLong($X, $Y))
- Next
- EndFunc
- Func _MakeLong($LoWord,$HiWord)
- Return BitOR($HiWord * 0x10000, BitAND($LoWord, 0xFFFF))
- EndFunc
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\MouseClick.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\GUI.au3>
- ; ----------------------------------------------------------------------------
- $size_diese = 20
- $size_name = 90
- $size_level = 50
- $size_class = 118
- $size_screen = 90
- $size_relogs = 70
- $size_status = 90
- $rand = Random(100000000000000, 999999999999999)
- $size_y = 195 + 19 * IniRead("settings.ini", "Global", "Lines", 6)
- $size_x = 45 + $size_diese + $size_name + $size_level + $size_class + $size_screen + $size_relogs + $size_status
- $size_group_main_y = $size_y - 142
- $size_group_buttons_y = 50
- $size_line_x = 260
- $size_setline_x = 210
- $size_setline_y = 480+90
- $list = 0
- $selected = 0
- $borderwidth = 0
- $titleheight = 0
- Global $gridline = 0
- Global $gridcolumn = 0
- Global $id[99] = [0]
- Global $handle[99] = [0]
- Global $attached[99] = [0]
- Global $started[99] = [0]
- Global $line[99] = [0]
- Global $number = 0
- Global $name[99] = [0]
- Global $level[99] = [0]
- Global $class[99] = [0]
- Global $status[99] = [0]
- Global $relog[99] = [0]
- Global $relogchar[99] = [0]
- Global $SetLine[99] = [0]
- Global $cancel[99] = [0]
- Global $ok[99] = [0]
- Global $name_input[99] = [0]
- Global $name_label[99] = [0]
- Global $accountcheck[99] = [0]
- Global $account_input[99] = [0]
- Global $account_label[99] = [0]
- Global $password_input[99] = [0]
- Global $password_label[99] = [0]
- Global $char_input[99] = [0]
- Global $char_label[99] = [0]
- Global $charexp_label[99] = [0]
- Global $relog_input[99] = [0]
- Global $relog_label[99] = [0]
- Global $time_input[99] = [0]
- Global $time_label[99] = [0]
- Global $timeexp_label[99] = [0]
- Global $class_label[99] = [0]
- Global $class_input[99] = [0]
- Global $previousstart_size_x[99] = [0]
- Global $previousstart_size_y[99] = [0]
- Global $previousstart_pos_x[99] = [0]
- Global $previousstart_pos_y[99] = [0]
- Global $windowmove[99] = [0]
- Global $windowmove_grid[99] = [0]
- Global $windowmove_xy[99] = [0]
- Global $windowmove_x[99] = [0]
- Global $windowmove_y[99] = [0]
- Global $timer[99] = [0]
- Global $WM_NOTIFY = 0x004E
- Global $dblclk = 0
- Func CreateGUI()
- LoadSettings()
- Global $window = GUICreate($rand, $size_x, $size_y, 200, 200)
- $menu_menu = GUICtrlCreateMenu($menu1_)
- $menu_menu_Bouton1 = GUICtrlCreateMenuItem($startall_, $menu_menu)
- $menu_menu_Bouton2 = GUICtrlCreateMenuItem($stopall_, $menu_menu)
- $menu_menu_Bouton3 = GUICtrlCreateMenuItem($exit_, $menu_menu)
- $menu_settings = GUICtrlCreateMenu($menu2_)
- $menu_settings_Bouton1 = GUICtrlCreateMenuItem($options_, $menu_settings)
- $menu_settings_Bouton2 = GUICtrlCreateMenuItem($credits_, $menu_settings)
- GUICtrlSetOnEvent($menu_settings_Bouton2, "Credits")
- GUICtrlSetOnEvent($menu_settings_Bouton1, "Settings")
- GUICtrlSetOnEvent($menu_menu_Bouton1, "Startall")
- GUICtrlSetOnEvent($menu_menu_Bouton2, "Stopall")
- SetOnEventA($menu_menu_Bouton3, "close", $paramByVal, 0, $paramByVal, 0)
- $group_list = GUICtrlCreateGroup("", 5, 0, $size_x - 10, $size_group_main_y)
- LoadList()
- Global $group_stats = GUICtrlCreateGroup($statistics_, 5, $size_group_main_y, $size_x - 10 - $size_line_x, $size_y - $size_group_main_y - 25)
- Global $group_stats_1 = GUICtrlCreateGroup('', 5+5, $size_group_main_y+10, ($size_x - 10 - $size_line_x-15)/2, $size_y - $size_group_main_y - 25-15)
- Global $group_stats_2 = GUICtrlCreateGroup('', 5+5+5+($size_x - 10 - $size_line_x-15)/2, $size_group_main_y+10, ($size_x - 10 - $size_line_x-15)/2, $size_y - $size_group_main_y - 25-15)
- $reloglogin_stats = GUICtrlCreateLabel ($reloglogin_, 15,$size_group_main_y+20, 110,17)
- Global $reloglogin_value_stats = GUICtrlCreateLabel ("0", 15+120,$size_group_main_y+20, 17,17)
- $relogchar_stats = GUICtrlCreateLabel ($relogchar_, 15,$size_group_main_y+20+20, 115,17)
- Global $relogchar_value_stats = GUICtrlCreateLabel ("0", 15+120,$size_group_main_y+20+20, 17,17)
- $group_buttons_stats = GUICtrlCreateGroup('', $size_x - $size_line_x, $size_group_main_y, $size_line_x - 5, $size_y - $size_group_main_y - $size_group_buttons_y - 25)
- $edit = GUICtrlCreateButton($edit_, $size_x - $size_line_x + 5 + 82, $size_group_main_y + 10, 80, 25)
- $del = GUICtrlCreateButton($del_, $size_x - $size_line_x + 5 + 82, $size_group_main_y + 10 + 27, 80, 25)
- Global $start = GUICtrlCreateButton($start_, $size_x - $size_line_x + 5 + 82 + 82, $size_group_main_y + 10, 80, 25)
- Global $stop = GUICtrlCreateButton($stop_, $size_x - $size_line_x + 5 + 82 + 82, $size_group_main_y + 10 + 27, 80, 25)
- $new = GUICtrlCreateButton($new_, $size_x - $size_line_x + 5, $size_group_main_y + 10, 80, 25)
- $attach = GUICtrlCreateButton($attach_, $size_x - $size_line_x + 5, $size_group_main_y + 10 + 27, 80, 25)
- GUICtrlSetOnEvent($del, "Delete")
- GUICtrlSetOnEvent($edit, "CreateGUISetline")
- GUICtrlSetOnEvent($attach, "Attach")
- GUICtrlSetOnEvent($start, "start")
- GUICtrlSetOnEvent($stop, "stop")
- GUICtrlSetState($start, $GUI_DISABLE)
- GUICtrlSetState($stop, $GUI_DISABLE)
- $group_buttons = GUICtrlCreateGroup("", $size_x - $size_line_x, $size_y - $size_group_buttons_y - 25, $size_line_x - 5, $size_group_buttons_y)
- $refresh = GUICtrlCreateButton($refresh_, $size_x - $size_line_x + 5, $size_y - $size_group_buttons_y - 25 + 13, 80, 30)
- $startall = GUICtrlCreateButton($startall_, $size_x - $size_line_x + 5 + 82 + 82, $size_y - $size_group_buttons_y - 25 + 13, 80, 30)
- $stopall = GUICtrlCreateButton($stopall_, $size_x - $size_line_x + 5 + 82, $size_y - $size_group_buttons_y - 25 + 13, 80, 30)
- GUICtrlSetOnEvent($startall, "startall")
- GUICtrlSetOnEvent($stopall, "stopall")
- SetOnEventA($new, "CreateGUISetLine", $paramByVal, 99)
- SetOnEventA($GUI_EVENT_CLOSE, "close", $paramByVal, 0, $paramByVal, 0)
- GUICtrlSetOnEvent($refresh, "LoadList")
- GUISetOnEvent($GUI_EVENT_MINIMIZE, "minimize")
- GUISetState(@SW_SHOW)
- EndFunc
- Func LoadSettings()
- EndFunc
- Func ClicOnListViewItem($i)
- GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
- Sleep("100")
- If $dblclk = 1 Then
- CreateGUISetLine($i)
- $dblclk = 0
- Else
- Global $selected = $i
- UpdateStats()
- EndIf
- EndFunc
- Func Attach($j)
- If Not IsDeclared("j") Then
- If $selected <> 0 And $selected <> IniRead("settings.ini", "Global", "Number", 0) + 1 Then
- $j = $selected
- EndIf
- EndIf
- If IsDeclared("j") Then
- GUISetState(@SW_DISABLE, $window)
- $time = TimerInit()
- TrayTip(IniRead("settings.ini", "Settings " & $j, "Name", ''), $clickonwow_, '', 1)
- While TimerDiff($time) < 10000
- $wow = WinList("")
- For $k = 1 To $wow[0][0]
- While WinActive ($rand)
- WEnd
- If WinActive($wow[$k][1]) Then
- $id[$j] = WinGetProcess($wow[$k][1])
- $handle[$j] = $wow[$k][1]
- TrayTip(IniRead("settings.ini", "Settings " & $j, "Name", ''), $wowloaded_, 1, 1)
- WinActivate($rand)
- $status[$j] = $attached_
- $attached[$j] = 1
- $started[$j] = 0
- LoadMemory ($j)
- GetChar($j)
- GetScreens()
- LoadList()
- UpdateStats()
- GUISetState(@SW_ENABLE, $window)
- Sleep ("200")
- ExitLoop (2)
- EndIf
- Next
- WEnd
- If TimerDiff($time) > 10000 Then
- TrayTip(IniRead("settings.ini", "Settings " & $j, "Name", ''), $failedtoload_, '', 3)
- GUISetState(@SW_ENABLE, $window)
- EndIf
- EndIf
- EndFunc
- Func WoWWindowSet ($j)
- $tmp=WinGetPos ($handle[$j])
- If $tmp[2]<>IniRead ("settings.ini", "Global", "Size X", 800)+2*IniRead("settings.ini", "Global", "Border Width",6) Or $previousstart_size_x[$j]='' Then
- $previousstart_size_x[$j] = $tmp[2]
- $previousstart_size_y[$j] = $tmp[3]
- EndIf
- If $tmp[0]<>IniRead ("settings.ini", "Settings "&$j, "Move X", 0) Or $previousstart_pos_x[$j]='' Then
- $previousstart_pos_x[$j] = $tmp[0]
- $previousstart_pos_y[$j] = $tmp[1]
- EndIf
- If IniRead ("settings.ini", "Global", "Rename", 4)=1 Then
- WinSetTitle ($handle[$j], "", IniRead("settings.ini", "Settings "&$j, "Name", "World of Warcraft"))
- EndIf
- If IniRead ("settings.ini", "Global", "Resize", 4)=1 Then
- $previouspos = WinGetPos ($handle[$j])
- WinMove ($handle[$j], '', $previouspos[0], $previouspos[1], IniRead ("settings.ini", "Global", "Size X", 800)+2*IniRead("settings.ini", "Global", "Border Width",6),IniRead ("settings.ini", "Global", "Size Y", 600)+2*IniRead("settings.ini", "Global", "Border Width",6)+IniRead("settings.ini", "Global", "Title Height",19))
- EndIf
- If IniRead ("settings.ini", "Settings "&$j, "Move", 4)=1 Then
- $previouspos = WinGetPos ($handle[$j])
- If IniRead("settings.ini", "Settings "&$j, "Move Method", 'XY') = 'XY' Then
- WinMove ($handle[$j], '', IniRead("settings.ini", "Settings "&$j, "Move X", 0) , IniRead("settings.ini", "Settings "&$j, "Move Y", 0), $previouspos[2], $previouspos[3])
- Else
- If IniRead ("settings.ini", "Global", "Resize", 4)=1 Then
- $ysize = IniRead ("settings.ini", "Global", "Size Y", 600)
- $xsize = IniRead ("settings.ini", "Global", "Size X", 800)
- Else
- $ysize = $previouspos[1]
- $xsize = $previouspos[0]
- EndIf
- If ($gridline+1)*(IniRead ("settings.ini", "Global", "Title Height", 19)+2*IniRead ("settings.ini", "Global", "Border Width", 6)+$ysize)>@DesktopHeight Then
- $gridline=0
- $gridcolumn=$gridcolumn+1
- Endif
- $calculated_x = $gridcolumn * (2*IniRead ("settings.ini", "Global", "Border Width", 6)+$xsize)
- $calculated_y = $gridline * (IniRead ("settings.ini", "Global", "Title Height", 19)+2*IniRead ("settings.ini", "Global", "Border Width", 6)+$ysize)
- WinMove ($handle[$j], '', $calculated_x , $calculated_y, $previouspos[2], $previouspos[3])
- $gridline=$gridline+1
- EndIf
- EndIf
- EndFunc
- Func WoWWindowSetPrevious ($j)
- If IniRead ("settings.ini", "Global", "Resize", 4)=1 Then
- $previouspos = WinGetPos ($handle[$j])
- WinMove ($handle[$j], '', $previouspos[0], $previouspos[1], $previousstart_size_x[$j],$previousstart_size_y[$j])
- EndIf
- If IniRead ("settings.ini", "Settings "&$j, "Move", 4)=1 Then
- $previouspos = WinGetPos ($handle[$j])
- WinMove ($handle[$j], '', $previousstart_pos_x[$j], $previousstart_pos_y[$j], $previouspos[2],$previouspos[3])
- EndIf
- $gridline=0
- $gridcolumn = 0
- EndFunc
- Func UpdateStats()
- If $attached[$selected] = 1 Then
- GUICtrlSetState($start, $GUI_ENABLE)
- GUICtrlSetState($stop, $GUI_ENABLE)
- Else
- GUICtrlSetState($start, $GUI_DISABLE)
- GUICtrlSetState($stop, $GUI_DISABLE)
- EndIf
- GUICtrlDelete($group_stats)
- $group_stats = GUICtrlCreateGroup(" " & IniRead("settings.ini", "Settings " & $selected, "Name", "Statistics") & " ", 5, $size_group_main_y, $size_x - 10 - $size_line_x, $size_y - $size_group_main_y - 25)
- GUICtrlDelete($reloglogin_value_stats)
- $reloglogin_value_stats = GUICtrlCreateLabel ($relog[$selected], 15+120,$size_group_main_y+20, 17,17)
- GUICtrlDelete($relogchar_value_stats)
- $relogchar_value_stats = GUICtrlCreateLabel ($relogchar[$selected], 15+120,$size_group_main_y+20+20, 17,17)
- EndFunc
- Func Close($i, $j)
- If $i = 0 Then
- Exit
- ElseIf $i = 1 Then
- Save($j)
- ElseIf $i = 2 Then
- GUIDelete($SetLine[$j])
- GUISetState(@SW_ENABLE, $window)
- WinActivate($rand)
- ElseIf $i = 3 Then
- SaveSettings()
- ElseIf $i = 4 Then
- GUIDelete($settings)
- GUISetState(@SW_ENABLE, $window)
- WinActivate($rand)
- EndIf
- EndFunc
- Func Save($i)
- $char_tmp = GUICtrlRead($char_input[$i])
- If GUICtrlRead($name_input[$i]) = '' Or GUICtrlRead($relog_input[$i]) = '' Or GUICtrlRead($time_input[$i]) = '' Or GUICtrlRead($account_input[$i]) = '' Or GUICtrlRead($password_input[$i]) = '' Or GUICtrlRead($char_input[$i]) = '' Or GUICtrlRead($class_input[$i]) = '' Then
- MsgBox(48, $error_, $fillsettings_)
- Else
- If $i > IniRead("settings.ini", "Global", "Number", 0) Then
- IniWrite("settings.ini", "Global", "Number", $i)
- EndIf
- IniWrite("settings.ini", "Settings " & $i, "Name", GUICtrlRead($name_input[$i]))
- IniWrite("settings.ini", "Settings " & $i, "Account", GUICtrlRead($account_input[$i]))
- IniWrite("settings.ini", "Settings " & $i, "Password", GUICtrlRead($password_input[$i]))
- IniWrite("settings.ini", "Settings " & $i, "Character", GUICtrlRead($char_input[$i]))
- IniWrite("settings.ini", "Settings " & $i, "Class", GUICtrlRead($class_input[$i]))
- $class[$i] = GUICtrlRead($class_input[$i])
- IniWrite("settings.ini", "Settings " & $i, "Relogs", GUICtrlRead($relog_input[$i]))
- IniWrite("settings.ini", "Settings " & $i, "Time", GUICtrlRead($time_input[$i]))
- IniWrite("settings.ini", "Settings " & $i, "AccountInput", GUICtrlRead($accountcheck[$i]))
- IniWrite("settings.ini", "Settings " & $i, "Move", GUICtrlRead($windowmove[$i]))
- If GUICtrlRead($windowmove[$i])=1 Then
- If GUICtrlRead($windowmove_grid[$i])=1 Then
- IniWrite("settings.ini", "Settings " & $i, "Move Method", 'Grid')
- Else
- IniWrite("settings.ini", "Settings " & $i, "Move Method", 'XY')
- If GUICtrlRead($windowmove_x[$i])<>'X' And GUICtrlRead($windowmove_y[$i])<>'Y' Then
- IniWrite("settings.ini", "Settings " & $i, "Move X", GUICtrlRead($windowmove_x[$i]))
- IniWrite("settings.ini", "Settings " & $i, "Move Y", GUICtrlRead($windowmove_y[$i]))
- Else
- IniWrite("settings.ini", "Settings " & $i, "Move X", 0)
- IniWrite("settings.ini", "Settings " & $i, "Move Y", 0)
- EndIf
- EndIf
- EndIf
- GUIDelete($SetLine[$i])
- GUISetState(@SW_ENABLE, $window)
- WinActivate($rand)
- LoadList()
- EndIf
- EndFunc
- Func LoadList()
- GUICtrlDelete($list)
- Global $list = GUICtrlCreateListView("#|" & $name_ & "|" & $level_ & "|" & $class_ & "|" & $screen_ & "|" & $relogslist_ & "|" & $status_, 12, 14, $size_x - 24, $size_group_main_y - 24, BitAND($LVS_SORTASCENDING, $LVS_EX_FULLROWSELECT))
- GUICtrlSendMsg($list, 0x101E, 0, $size_diese)
- GUICtrlSendMsg($list, 0x101E, 1, $size_name)
- GUICtrlSendMsg($list, 0x101E, 2, $size_level)
- GUICtrlSendMsg($list, 0x101E, 3, $size_class)
- GUICtrlSendMsg($list, 0x101E, 4, $size_screen)
- GUICtrlSendMsg($list, 0x101E, 5, $size_relogs)
- GUICtrlSendMsg($list, 0x101E, 6, $size_status)
- For $i = 1 To IniRead("settings.ini", "Global", "Number", 0)
- $line[$i] = GUICtrlCreateListViewItem($i & "|" & IniRead("settings.ini", "Settings " & $i, "Name", '') & "|" & $level[$i] & "|" & $class[$i] & "|" & $screen[$i] & "|" & $relog[$i] & "/" & IniRead("settings.ini", "Settings " & $i, "Relogs", 0) & "|" & $status[$i], $list)
- If Round($i / 2, 0) <> $i / 2 Then
- GUICtrlSetBkColor($line[$i], 0xD7E4F2)
- EndIf
- SetOnEventA($line[$i], "ClicOnListViewItem", $paramByVal, $i)
- Next
- $line[IniRead("settings.ini", "Global", "Number", 0) + 1] = GUICtrlCreateListViewItem(IniRead("settings.ini", "Global", "Number", 0) + 1 & "|" & $new_, $list)
- GUICtrlSetBkColor($line[IniRead("settings.ini", "Global", "Number", 0) + 1], 0x99B4D1)
- SetOnEventA($line[IniRead("settings.ini", "Global", "Number", 0) + 1], "ClicOnListViewItem", $paramByVal, IniRead("settings.ini", "Global", "Number", 0) + 1)
- EndFunc
- Func Delete()
- IniDelete("settings.ini", "Settings " & $selected)
- If $selected <> IniRead("settings.ini", "Global", "Number", 0) + 1 And $selected <> 0 Then
- IniWrite("settings.ini", "Global", "Number", IniRead("settings.ini", "Global", "Number", 1) - 1)
- EndIf
- Organize()
- LoadList()
- EndFunc
- Func Organize()
- For $i = 1 To IniRead("settings.ini", "Global", "Number", 1) + 1
- If IniRead("settings.ini", "Settings " & $i, "Name", '') = '' Then
- IniWrite("settings.ini", "Settings " & $i, "Name", IniRead("settings.ini", "Settings " & $i + 1, "Name", ''))
- IniWrite("settings.ini", "Settings " & $i, "Account", IniRead("settings.ini", "Settings " & $i + 1, "Account", ''))
- IniWrite("settings.ini", "Settings " & $i, "Password", IniRead("settings.ini", "Settings " & $i + 1, "Password", ''))
- IniWrite("settings.ini", "Settings " & $i, "Character", IniRead("settings.ini", "Settings " & $i + 1, "Character", ''))
- IniWrite("settings.ini", "Settings " & $i, "Relogs", IniRead("settings.ini", "Settings " & $i + 1, "Relogs", ''))
- IniWrite("settings.ini", "Settings " & $i, "Time", IniRead("settings.ini", "Settings " & $i + 1, "Time", ''))
- IniDelete("settings.ini", "Settings " & $i + 1)
- EndIf
- Next
- EndFunc
- Func Credits()
- MsgBox(64, $credits_, $reloggername & " v " & $version & @CR & @CR & "a_m_a_u_r_y@hotmail.com" & @CR & "www.coincoingold.com/AmauryBot")
- EndFunc
- Func Calibrate()
- GUISetState(@SW_DISABLE, $options_)
- $time_calib = TimerInit()
- TrayTip($calibrate_, $clickonwowcalib_, '', 1)
- While TimerDiff($time_calib) < 10000
- If WinActive('World of Warcraft') Then
- $wow_calib = WinList('World of Warcraft')
- For $k = 1 To $wow_calib[0][0]
- If WinActive($wow_calib[$k][1]) Then
- $winsize = WinGetPos($wow_calib[$k][1])
- $borderwidth = ($winsize[2] - 800) / 2
- $titleheight = $winsize[3] - 600 - (2 * $borderwidth)
- IniWrite("settings.ini", "Global", "Title Height", $titleheight)
- IniWrite("settings.ini", "Global", "Border Width", $borderwidth)
- ExitLoop (2)
- EndIf
- Next
- EndIf
- WEnd
- If TimerDiff($time_calib) > 10000 Then
- TrayTip($calibrate_, $failedtocalib_, '', 3)
- GUISetState(@SW_ENABLE, $options_)
- WinActivate($rand)
- WinActivate($options_)
- Else
- TrayTip($calibrate_, $wowcalibrated_ & " :" & @CR & $borderwidth_ & " : " & $borderwidth & @CR & $titleheight_ & " : " & $titleheight & @CR & $calibrateexp2_, 1, 1)
- GUISetState(@SW_ENABLE, $options_)
- WinActivate($rand)
- WinActivate($options_)
- EndIf
- EndFunc
- Func SaveSettings()
- If GUICtrlRead($linesnumber) >= 3 Then
- $var = GUICtrlRead($linesnumber)
- Else
- $var = 3
- EndIf
- IniWrite("settings.ini", "Global", "Lines", $var)
- If GUICtrlRead($fr) = 1 Then
- IniWrite("settings.ini", "Global", "Language", "fr")
- ElseIf GUICtrlRead($en) = 1 Then
- IniWrite("settings.ini", "Global", "Language", "en")
- EndIf
- IniWrite("settings.ini", "Global", "Resize", GUICtrlRead($windowsize))
- If GUICtrlRead ($x_size)<>'' Then
- IniWrite ("settings.ini", "Global", "Size X", GUICtrlRead ($x_size))
- IniWrite ("settings.ini", "Global", "Size Y", GUICtrlRead ($y_size))
- EndIf
- IniWrite("settings.ini", "Global", "Rename", GUICtrlRead($rename))
- If GUICtrlRead($fr) = 1 Then
- For $k = 1 To IniRead("settings.ini", "Global", "Number", 0)
- If IniRead("settings.ini", "Settings " & $k, "Class", 0) = 'Death Knight' Then
- IniWrite("settings.ini", "Settings " & $k, "Class", "Chevalier de la mort")
- EndIf
- If IniRead("settings.ini", "Settings " & $k, "Class", 0) = 'Druid' Then
- IniWrite("settings.ini", "Settings " & $k, "Class", "Druide")
- EndIf
- If IniRead("settings.ini", "Settings " & $k, "Class", 0) = 'Hunter' Then
- IniWrite("settings.ini", "Settings " & $k, "Class", "Chasseur")
- EndIf
- If IniRead("settings.ini", "Settings " & $k, "Class", 0) = 'Mage' Then
- IniWrite("settings.ini", "Settings " & $k, "Class", "Mage")
- EndIf
- If IniRead("settings.ini", "Settings " & $k, "Class", 0) = 'Paladin' Then
- IniWrite("settings.ini", "Settings " & $k, "Class", "Paladin")
- EndIf
- If IniRead("settings.ini", "Settings " & $k, "Class", 0) = 'Priest' Then
- IniWrite("settings.ini", "Settings " & $k, "Class", "Pr�tre")
- EndIf
- If IniRead("settings.ini", "Settings " & $k, "Class", 0) = 'Rogue' Then
- IniWrite("settings.ini", "Settings " & $k, "Class", "Voleur")
- EndIf
- If IniRead("settings.ini", "Settings " & $k, "Class", 0) = 'Shaman' Then
- IniWrite("settings.ini", "Settings " & $k, "Class", "Chaman")
- EndIf
- If IniRead("settings.ini", "Settings " & $k, "Class", 0) = 'Warlock' Then
- IniWrite("settings.ini", "Settings " & $k, "Class", "D�moniste")
- EndIf
- If IniRead("settings.ini", "Settings " & $k, "Class", 0) = 'Warrior' Then
- IniWrite("settings.ini", "Settings " & $k, "Class", "Guerrier")
- EndIf
- Next
- ElseIf GUICtrlRead($en) = 1 Then
- For $k = 1 To IniRead("settings.ini", "Global", "Number", 0)
- If IniRead("settings.ini", "Settings " & $k, "Class", 0) = 'Chevalier de la mort' Then
- IniWrite("settings.ini", "Settings " & $k, "Class", "Death Knight")
- EndIf
- If IniRead("settings.ini", "Settings " & $k, "Class", 0) = 'Druide' Then
- IniWrite("settings.ini", "Settings " & $k, "Class", "Druid")
- EndIf
- If IniRead("settings.ini", "Settings " & $k, "Class", 0) = 'Chasseur' Then
- IniWrite("settings.ini", "Settings " & $k, "Class", "Hunter")
- EndIf
- If IniRead("settings.ini", "Settings " & $k, "Class", 0) = 'Mage' Then
- IniWrite("settings.ini", "Settings " & $k, "Class", "Mage")
- EndIf
- If IniRead("settings.ini", "Settings " & $k, "Class", 0) = 'Paladin' Then
- IniWrite("settings.ini", "Settings " & $k, "Class", "Paladin")
- EndIf
- If IniRead("settings.ini", "Settings " & $k, "Class", 0) = 'Pr�tre' Then
- IniWrite("settings.ini", "Settings " & $k, "Class", "Priest")
- EndIf
- If IniRead("settings.ini", "Settings " & $k, "Class", 0) = 'Voleur' Then
- IniWrite("settings.ini", "Settings " & $k, "Class", "Rogue")
- EndIf
- If IniRead("settings.ini", "Settings " & $k, "Class", 0) = 'Chaman' Then
- IniWrite("settings.ini", "Settings " & $k, "Class", "Shaman")
- EndIf
- If IniRead("settings.ini", "Settings " & $k, "Class", 0) = 'D�moniste' Then
- IniWrite("settings.ini", "Settings " & $k, "Class", "Warlock")
- EndIf
- If IniRead("settings.ini", "Settings " & $k, "Class", 0) = 'Guerrier' Then
- IniWrite("settings.ini", "Settings " & $k, "Class", "Warrior")
- EndIf
- Next
- EndIf
- GUIDelete($settings)
- GUISetState(@SW_ENABLE, $window)
- WinActivate($rand)
- EndFunc
- Func Start()
- If $selected <= IniRead("settings.ini", "Global", "Number", 0) And $attached[$selected] = 1 Then
- $started[$selected] = 1
- $relog[$selected] = 0
- $timer[$selected] = TimerInit()
- $status[$selected] = $started_
- WoWWindowSet ($selected)
- $gridcolumn = 0
- $gridline = 0
- EndIf
- EndFunc
- Func StartAll()
- For $k = 1 To IniRead("settings.ini", "Global", "Number", 0)
- If $attached[$k] = 1 Then
- $relog[$k] = 0
- $started[$k] = 1
- $timer[$k] = TimerInit()
- $status[$k] = $started_
- WoWWindowSet ($k)
- EndIf
- Next
- $gridcolumn = 0
- $gridline = 0
- LoadList()
- EndFunc
- Func Stop()
- If $started[$selected] = 1 Then
- $started[$selected] = 0
- $status[$selected] = $notstarted_
- WoWWindowSetPrevious ($selected)
- EndIf
- LoadList()
- EndFunc
- Func StopAll()
- For $k = 1 To IniRead("settings.ini", "Global", "Number", 0)
- If $started[$k] = 1 Then
- $started[$k] = 0
- $status[$k] = $notstarted_
- WoWWindowSetPrevious ($k)
- EndIf
- Next
- LoadList()
- EndFunc
- Func CheckAttach()
- For $k = 1 To IniRead("settings.ini", "Global", "Number", 0)
- If Not WinExists($handle[$k]) Then
- $attached[$k] = 0
- $started[$k] = 0
- $status[$k] = $notattached_
- $screen[$k] = ''
- EndIf
- Next
- EndFunc
- Func Minimize()
- GUISetState(@SW_HIDE)
- EndFunc
- Func Maximize()
- GUISetState(@SW_SHOW)
- WinActivate($rand)
- EndFunc
- Func ItemExit()
- Exit
- EndFunc
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\GUI.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\GUICreate.au3>
- ; ----------------------------------------------------------------------------
- Func Settings()
- $pos = WinGetPos($rand)
- Global $settings = GUICreate($options_, 200, 440, $pos[0] + $size_x + 15, $pos[1], '')
- SetOnEventA($GUI_EVENT_CLOSE, "close", $paramByVal, 3, $paramByVal, 3)
- $cancelsettings = GUICtrlCreateButton($cancel_, 1, 300 - 52 + 50+90, 96, 25)
- $oksettings = GUICtrlCreateButton($ok_, 97, 300 - 52 + 50+90, 96, 25)
- $group_rename = GUICtrlCreateGroup(" " & $rename_ & " ", 5, 300 - 52 + 50, 185, 85)
- Global $rename = GUICtrlCreateCheckbox (" "&$renameexp_, 10, 300 - 52 + 50 +15, 170, 20)
- Global $windowsize = GUICtrlCreateCheckbox (" "&$windowsizeexp_, 10, 300 - 52 + 50 +15+25, 170, 17)
- Global $labelx = GUICtrlCreateLabel ("X :", 25, 300 - 52 + 50 +15+25+20, 15, 15)
- Global $x_size = GUICtrlCreateInput (IniRead ("settings.ini", "Global", "Size X", ''), 40, 300 - 52 + 50 +15+25+20, 50, 17)
- Global $labely = GUICtrlCreateLabel ("Y :", 100, 300 - 52 + 50 +15+25+20, 15, 15)
- Global $y_size = GUICtrlCreateInput (IniRead ("settings.ini", "Global", "Size Y", ''), 115, 300 - 52 + 50 +15+25+20, 50, 17)
- If IniRead("settings.ini", "Global", "Rename", 4)=1 Then
- GUICtrlSetState ($rename, $GUI_CHECKED)
- EndIf
- If IniRead("settings.ini", "Global", "Resize", 4)=1 Then
- GUICtrlSetState ($windowsize, $GUI_CHECKED)
- EndIf
- If IniRead("settings.ini", "Global", "Resize", 4)=4 Then
- GUICtrlSetState ($x_size, $GUI_DISABLE)
- GUICtrlSetState ($y_size, $GUI_DISABLE)
- EndIf
- GUICtrlSetOnEvent ($windowsize, "WindowSizePressed")
- GUICtrlSetOnEvent ($x_size, "XSizePressed")
- GUICtrlSetOnEvent ($y_size, "YSizePressed")
- $group_lang = GUICtrlCreateGroup(" " & $lang_ & " ", 5, 5, 185, 70)
- Global $fr = GUICtrlCreateRadio($fr_, 35, 20, 60, 20)
- Global $en = GUICtrlCreateRadio($en_, 125, 20, 60, 20)
- $pic_fr = GUICtrlCreatePic("fr.gif", 15, 25, 15, 11)
- $pic_en = GUICtrlCreatePic("gb.gif", 105, 25, 15, 11)
- $langexp = GUICtrlCreateLabel($langexp_, 10, 45, 170, 25, $SS_CENTER)
- GUICtrlSetFont(-1, 8)
- GUICtrlSetColor(-1, 0x808080)
- $group_calibrate = GUICtrlCreateGroup(" " & $calibrate_ & " ", 5, 75, 185, 140)
- $calibreateexp1 = GUICtrlCreateLabel($calibrateexp1_, 10, 90, 170, 70, $SS_CENTER)
- GUICtrlSetFont(-1, 8)
- $calibrateexp = GUICtrlCreateLabel($calibrateexp_, 10, 185, 170, 25, $SS_CENTER)
- GUICtrlSetFont(-1, 8)
- GUICtrlSetColor(-1, 0x808080)
- $calib = GUICtrlCreateButton($attach_, 50, 160, 100, 20, $SS_CENTER)
- GUICtrlSetOnEvent($calib, "Calibrate")
- $group_size = GUICtrlCreateGroup(" " & $windowsize_ & " ", 5, 215, 185, 80)
- $windowsizeexp1 = GUICtrlCreateLabel($windowsizeexp_, 10, 230, 170, 15, $SS_CENTER)
- GUICtrlSetFont(-1, 8)
- Global $linesnumber = GUICtrlCreateInput(IniRead("settings.ini", "Global", "Lines", ''), 60, 245, 80, 20, $SS_CENTER)
- $windowsizeexp = GUICtrlCreateLabel($langexp_, 10, 265, 170, 25, $SS_CENTER)
- GUICtrlSetFont(-1, 8)
- GUICtrlSetColor(-1, 0x808080)
- SetOnEventA($oksettings, "close", $paramByVal, 3, $paramByVal, 3)
- SetOnEventA($cancelsettings, "close", $paramByVal, 4, $paramByVal, 4)
- GUISetState(@SW_SHOW)
- GUISetState(@SW_DISABLE, $window)
- If IniRead("settings.ini", "Global", "Language", "en") = 'en' Then
- GUICtrlSetState($en, $GUI_CHECKED)
- GUICtrlSetState($fr, $GUI_UNCHECKED)
- Else
- GUICtrlSetState($en, $GUI_UNCHECKED)
- GUICtrlSetState($fr, $GUI_CHECKED)
- EndIf
- EndFunc
- Func WindowSizePressed ()
- If GUICtrlRead ($windowsize)=1 Then
- GUICtrlSetState ($x_size, $GUI_ENABLE)
- GUICtrlSetState ($y_size, $GUI_ENABLE)
- Else
- GUICtrlSetState ($x_size, $GUI_DISABLE)
- GUICtrlSetState ($y_size, $GUI_DISABLE)
- EndIf
- EndFunc
- Func XSizePressed ()
- GUICtrlSetData ($y_size, Round(GUICtrlRead($x_size)*(6/8),0))
- EndFunc
- Func YSizePressed ()
- GUICtrlSetData ($x_size, Round(GUICtrlRead($y_size)*(8/6),0))
- EndFunc
- Func CreateGUISetLine($i)
- If Not IsDeclared("i") Then
- If $selected <> 0 Then
- $i = $selected
- Else
- $i = IniRead("settings.ini", "Global", "Number", '') + 1
- EndIf
- EndIf
- If $i = 99 Then
- $i = IniRead("settings.ini", "Global", "Number", 0) + 1
- EndIf
- If IsDeclared("i") Then
- $pos = WinGetPos($rand)
- $SetLine[$i] = GUICreate(IniRead("settings.ini", "Settings " & $i, "Name", $new_), $size_setline_x, $size_setline_y - 20-45, $pos[0] + $size_x + 15, $pos[1], '', '')
- GUISetState()
- $cancel[$i] = GUICtrlCreateButton($cancel_, 1, $size_setline_y - 52 - 20 - 45, $size_setline_x / 2 - 4, 25)
- $ok[$i] = GUICtrlCreateButton($ok_, $size_setline_x / 2 - 3, $size_setline_y - 52 - 20 - 45, $size_setline_x / 2 - 4, 25)
- GUICtrlCreateGroup(" " & $relog_ & " ", 5, 5, $size_setline_x - 16, ($size_setline_y - 75 + 20) / 2 - 20)
- $name_input[$i] = GUICtrlCreateInput(IniRead("settings.ini", "Settings " & $i, "Name", ""), ($size_setline_x - 160) / 2, 30 + 15, 160, 20)
- $name_label[$i] = GUICtrlCreateLabel($name_, ($size_setline_x - 160) / 2, 30, 160, 15, $SS_CENTER)
- $relog_input[$i] = GUICtrlCreateInput(IniRead("settings.ini", "Settings " & $i, "Relogs", ""), ($size_setline_x - 80) / 2, 30 + 30 + 20 + 15, 80, 20, $SS_CENTER)
- $relog_label[$i] = GUICtrlCreateLabel($relogs_, ($size_setline_x - 160) / 2, 30 + 30 + 20, 160, 15, $SS_CENTER)
- $time_input[$i] = GUICtrlCreateInput(IniRead("settings.ini", "Settings " & $i, "Time", ""), ($size_setline_x - 80) / 2, 30 + 30 + 20 + 15 + 30 + 20, 80, 20, $SS_CENTER)
- $time_label[$i] = GUICtrlCreateLabel($time_, ($size_setline_x - 160) / 2, 30 + 30 + 20 + 30 + 20, 160, 15, $SS_CENTER)
- $timeexp_label[$i] = GUICtrlCreateLabel($timeexp_, ($size_setline_x - 100) / 2, 30 + 30 + 20 + 30 + 20 + 30 + 5, 100, 12, $SS_CENTER)
- GUICtrlSetFont(-1, 8)
- GUICtrlSetColor(-1, 0x808080)
- $windowmove[$i] = GUICtrlCreateCheckbox ($move_ , 15, 30 + 30 + 20 + 30 + 20 + 30 + 5 + 20, 120, 15)
- $windowmove_grid[$i] = GUICtrlCreateRadio ($move_grid_,20, 30 + 30 + 20 + 30 + 20 + 30 + 5 + 20+20, 110, 15)
- $windowmove_xy[$i] = GUICtrlCreateRadio ($move_xy_ & " :",20, 30 + 30 + 20 + 30 + 20 + 30 + 5 + 20+20+15, 70, 15)
- $windowmove_x[$i] = GUICtrlCreateInput (IniRead ("settings.ini", "Settings "&$i, "Move X", 'X'),20+40+40, 30 + 30 + 20 + 30 + 20 + 30 + 5 + 20+20+15, 30, 15)
- $windowmove_y[$i] = GUICtrlCreateInput (IniRead ("settings.ini", "Settings "&$i, "Move Y", 'Y'),20+40+40+40, 30 + 30 + 20 + 30 + 20 + 30 + 5 + 20+20+15, 30, 15)
- If IniRead ("settings.ini", "Settings " &$i, "Move",4)=1 Then
- GUICtrlSetState($windowmove[$i], $GUI_CHECKED)
- If IniRead ("settings.ini", "Settings "&$i, "Move Method", 'Grid')='Grid' Then
- GUICtrlSetState ($windowmove_grid[$i], $GUI_CHECKED)
- Else
- GUICtrlSetState ($windowmove_xy[$i], $GUI_CHECKED)
- EndIf
- EndIf
- If GUIctrlread($windowmove[$i])=4 Then
- GUICtrlSetState ($windowmove_grid[$i], $GUI_DISABLE)
- GUICtrlSetState ($windowmove_xy[$i], $GUI_DISABLE)
- Else
- GUICtrlSetState ($windowmove_grid[$i], $GUI_ENABLE)
- GUICtrlSetState ($windowmove_xy[$i], $GUI_ENABLE)
- EndIf
- If GUIctrlread($windowmove_xy[$i])=4 Then
- GUICtrlSetState ($windowmove_x[$i], $GUI_DISABLE)
- GUICtrlSetState ($windowmove_y[$i], $GUI_DISABLE)
- Else
- GUICtrlSetState ($windowmove_x[$i], $GUI_ENABLE)
- GUICtrlSetState ($windowmove_y[$i], $GUI_ENABLE)
- EndIf
- SetOnEventA ( $windowmove_grid[$i], "Windowmoveradiopressed",$paramByVal, $i)
- SetOnEventA ( $windowmove_xy[$i], "Windowmoveradiopressed",$paramByVal, $i)
- SetOnEventA ( $windowmove[$i], "Windowmoveclick",$paramByVal, $i)
- GUICtrlCreateGroup(" " & $wow_ & " ", 5, 1 + 10 + ($size_setline_y - 75 + 20) / 2 - 20, $size_setline_x - 16, ($size_setline_y - 75) / 2 - 45)
- $accountcheck[$i] = GUICtrlCreateCheckbox ("" , (($size_setline_x - 80) / 2)-55, (30 + 1 + 5 + ($size_setline_y - 75) / 2 - 17)+14, 15, 15)
- $account_input[$i] = GUICtrlCreateInput(IniRead("settings.ini", "Settings " & $i, "Account", ""), ($size_setline_x - 160) / 2, 30 + 20 + 1 + ($size_setline_y - 75) / 2 - 20, 160, 20)
- $account_label[$i] = GUICtrlCreateLabel($wowusername_, ($size_setline_x - 80) / 2, 30 + 1 + 5 + ($size_setline_y - 75) / 2 - 20, 80, 15, $SS_CENTER)
- $password_input[$i] = GUICtrlCreateInput(IniRead("settings.ini", "Settings " & $i, "Password", ""), ($size_setline_x - 160) / 2, 30 + 30 + 20 + 20 + 1 + ($size_setline_y - 75) / 2 - 20, 160, 20)
- $password_label[$i] = GUICtrlCreateLabel($wowpassword_, ($size_setline_x - 80) / 2, 30 + 1 + 5 + 30 + 20 + ($size_setline_y - 75) / 2 - 20, 80, 15, $SS_CENTER)
- $char_input[$i] = GUICtrlCreateCombo(IniRead("settings.ini", "Settings " & $i, "Character", "0"), 15, 30 + 30 + 20 + 20 + 1 + 30 + 20 + ($size_setline_y - 75) / 2 - 20, 35, 20)
- GUICtrlSetData($char_input[$i], "1|2|3|4|5|6|7|8|9|10")
- $class_input[$i] = GUICtrlCreateCombo(IniRead("settings.ini", "Settings " & $i, "Class", ""), 60, 30 + 30 + 20 + 20 + 1 + 30 + 20 + ($size_setline_y - 75) / 2 - 20, 125, 20)
- GUICtrlSetData($class_input[$i], $dk_ & "|" & $druid_ & "|" & $hunt_ & "|" & $mage_ & "|" & $paladin_ & "|" & $priest_ & "|" & $rogue_ & "|" & $shaman_ & "|" & $warlock & "|" & $war_)
- $char_label[$i] = GUICtrlCreateLabel($wowchar_, 13, 30 + 1 + 5 + 30 + 20 + 30 + 20 + ($size_setline_y - 75) / 2 - 20, 80, 15)
- $class_label[$i] = GUICtrlCreateLabel($wowclass_, 100, 30 + 1 + 5 + 30 + 20 + 30 + 20 + ($size_setline_y - 75) / 2 - 20, 80, 15)
- $charexp_label[$i] = GUICtrlCreateLabel($wowcharexp_, ($size_setline_x - 180) / 2, 30 + 30 + 20 + 20 + 1 + 30 + 20 + 20 + 5 + ($size_setline_y - 75) / 2 - 20, 180, 30, $SS_CENTER)
- GUICtrlSetFont(-1, 8)
- GUICtrlSetColor(-1, 0x808080)
- If IniRead ("settings.ini", "Settings " &$i, "AccountInput",1)=1 Then
- GUICtrlSetState($accountcheck[$i], $GUI_CHECKED)
- EndIf
- If GUIctrlread($accountcheck[$i])=4 Then
- GUICtrlSetState ($account_input[$i], $GUI_DISABLE)
- Else
- GUICtrlSetState ($account_input[$i], $GUI_ENABLE)
- EndIf
- SetOnEventA ( $accountcheck[$i], "accountcheckclick",$paramByVal, $i)
- SetOnEventA($ok[$i], "close", $paramByVal, 1, $paramByVal, $i)
- SetOnEventA($cancel[$i], "close", $paramByVal, 2, $paramByVal, $i)
- GUISetState(@SW_DISABLE, $window)
- EndIf
- EndFunc
- Func Windowmoveradiopressed ($i)
- If GUIctrlread($windowmove_xy[$i])=4 Then
- GUICtrlSetState ($windowmove_x[$i], $GUI_DISABLE)
- GUICtrlSetState ($windowmove_y[$i], $GUI_DISABLE)
- Else
- GUICtrlSetState ($windowmove_x[$i], $GUI_ENABLE)
- GUICtrlSetState ($windowmove_y[$i], $GUI_ENABLE)
- EndIf
- EndFunc
- Func windowmoveclick ($i)
- If GUIctrlread($windowmove[$i])=4 Then
- GUICtrlSetState ($windowmove_grid[$i], $GUI_DISABLE)
- GUICtrlSetState ($windowmove_xy[$i], $GUI_DISABLE)
- GUICtrlSetState ($windowmove_x[$i], $GUI_DISABLE)
- GUICtrlSetState ($windowmove_y[$i], $GUI_DISABLE)
- Else
- GUICtrlSetState ($windowmove_grid[$i], $GUI_ENABLE)
- GUICtrlSetState ($windowmove_xy[$i], $GUI_ENABLE)
- WindowMoveRadioPressed ($i)
- EndIf
- EndFunc
- Func AccountCheckClick ($i)
- If GUIctrlread($accountcheck[$i])=4 Then
- GUICtrlSetState ($account_input[$i], $GUI_DISABLE)
- Else
- GUICtrlSetState ($account_input[$i], $GUI_ENABLE)
- EndIf
- EndFunc
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\GUICreate.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\Constants.au3>
- ; ----------------------------------------------------------------------------
- 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 $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 $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 $KB_SENDSPECIAL = 0
- Global Const $KB_SENDRAW = 1
- Global Const $KB_CAPSOFF = 0
- Global Const $KB_CAPSON = 1
- 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_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 $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 $COLOR_BLACK = 0x000000
- Global Const $COLOR_SILVER = 0xC0C0C0
- Global Const $COLOR_GRAY = 0x808080
- Global Const $COLOR_WHITE = 0xFFFFFF
- Global Const $COLOR_MAROON = 0x800000
- Global Const $COLOR_RED = 0xFF0000
- Global Const $COLOR_PURPLE = 0x800080
- Global Const $COLOR_FUCHSIA = 0xFF00FF
- Global Const $COLOR_GREEN = 0x008000
- Global Const $COLOR_LIME = 0x00FF00
- Global Const $COLOR_OLIVE = 0x808000
- Global Const $COLOR_YELLOW = 0xFFFF00
- Global Const $COLOR_NAVY = 0x000080
- Global Const $COLOR_BLUE = 0x0000FF
- Global Const $COLOR_TEAL = 0x008080
- Global Const $COLOR_AQUA = 0x00FFFF
- 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
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\Constants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\GUIConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\GUIDefaultConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\WindowsConstants.au3>
- ; ----------------------------------------------------------------------------
- Global Const $WS_TILED = 0
- Global Const $WS_OVERLAPPED = 0
- Global Const $WS_MAXIMIZEBOX = 0x00010000
- Global Const $WS_MINIMIZEBOX = 0x00020000
- Global Const $WS_TABSTOP = 0x00010000
- Global Const $WS_GROUP = 0x00020000
- Global Const $WS_SIZEBOX = 0x00040000
- Global Const $WS_THICKFRAME = 0x00040000
- Global Const $WS_SYSMENU = 0x00080000
- Global Const $WS_HSCROLL = 0x00100000
- Global Const $WS_VSCROLL = 0x00200000
- Global Const $WS_DLGFRAME = 0x00400000
- Global Const $WS_BORDER = 0x00800000
- Global Const $WS_CAPTION = 0x00C00000
- Global Const $WS_OVERLAPPEDWINDOW = 0x00CF0000
- Global Const $WS_TILEDWINDOW = 0x00CF0000
- Global Const $WS_MAXIMIZE = 0x01000000
- Global Const $WS_CLIPCHILDREN = 0x02000000
- Global Const $WS_CLIPSIBLINGS = 0x04000000
- Global Const $WS_DISABLED = 0x08000000
- Global Const $WS_VISIBLE = 0x10000000
- Global Const $WS_MINIMIZE = 0x20000000
- Global Const $WS_CHILD = 0x40000000
- Global Const $WS_POPUP = 0x80000000
- Global Const $WS_POPUPWINDOW = 0x80880000
- Global Const $DS_MODALFRAME = 0x80
- Global Const $DS_SETFOREGROUND = 0x00000200
- Global Const $DS_CONTEXTHELP = 0x00002000
- Global Const $WS_EX_ACCEPTFILES = 0x00000010
- Global Const $WS_EX_MDICHILD = 0x00000040
- Global Const $WS_EX_APPWINDOW = 0x00040000
- Global Const $WS_EX_CLIENTEDGE = 0x00000200
- Global Const $WS_EX_CONTEXTHELP = 0x00000400
- Global Const $WS_EX_DLGMODALFRAME = 0x00000001
- Global Const $WS_EX_LEFTSCROLLBAR = 0x00004000
- Global Const $WS_EX_OVERLAPPEDWINDOW = 0x00000300
- Global Const $WS_EX_RIGHT = 0x00001000
- Global Const $WS_EX_STATICEDGE = 0x00020000
- Global Const $WS_EX_TOOLWINDOW = 0x00000080
- Global Const $WS_EX_TOPMOST = 0x00000008
- Global Const $WS_EX_TRANSPARENT = 0x00000020
- Global Const $WS_EX_WINDOWEDGE = 0x00000100
- Global Const $WS_EX_LAYERED = 0x00080000
- Global Const $WM_SIZE = 0x05
- Global Const $WM_SIZING = 0x0214
- Global Const $WM_USER = 0X400
- Global Const $WM_GETTEXTLENGTH = 0x000E
- Global Const $WM_GETTEXT = 0x000D
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\WindowsConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\AVIConstants.au3>
- ; ----------------------------------------------------------------------------
- Global Const $ACS_CENTER = 1
- Global Const $ACS_TRANSPARENT = 2
- Global Const $ACS_AUTOPLAY = 4
- Global Const $ACS_TIMER = 8
- Global Const $ACS_NONTRANSPARENT = 16
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\AVIConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\ComboConstants.au3>
- ; ----------------------------------------------------------------------------
- Global Const $CBS_SIMPLE = 0x0001
- Global Const $CBS_DROPDOWN = 0x0002
- Global Const $CBS_DROPDOWNLIST = 0x0003
- Global Const $CBS_AUTOHSCROLL = 0x0040
- Global Const $CBS_OEMCONVERT = 0x0080
- Global Const $CBS_SORT = 0x0100
- Global Const $CBS_NOINTEGRALHEIGHT = 0x0400
- Global Const $CBS_DISABLENOSCROLL = 0x0800
- Global Const $CBS_UPPERCASE = 0x2000
- Global Const $CBS_LOWERCASE = 0x4000
- Global Const $CB_ERR = -1
- Global Const $CB_ERRATTRIBUTE = -3
- Global Const $CB_ERRREQUIRED = -4
- Global Const $CB_ERRSPACE = -2
- Global Const $CB_OKAY = 0
- Global Const $CB_ADDSTRING = 0x143
- Global Const $CB_DELETESTRING = 0x144
- Global Const $CB_DIR = 0x145
- Global Const $CB_FINDSTRING = 0x14C
- Global Const $CB_FINDSTRINGEXACT = 0x158
- Global Const $CB_GETCOUNT = 0x146
- Global Const $CB_GETCURSEL = 0x147
- Global Const $CB_GETDROPPEDCONTROLRECT = 0x152
- Global Const $CB_GETDROPPEDSTATE = 0x157
- Global Const $CB_GETDROPPEDWIDTH = 0X15f
- Global Const $CB_GETEDITSEL = 0x140
- Global Const $CB_GETEXTENDEDUI = 0x156
- Global Const $CB_GETHORIZONTALEXTENT = 0x15d
- Global Const $CB_GETITEMDATA = 0x150
- Global Const $CB_GETITEMHEIGHT = 0x154
- Global Const $CB_GETLBTEXT = 0x148
- Global Const $CB_GETLBTEXTLEN = 0x149
- Global Const $CB_GETLOCALE = 0x15A
- Global Const $CB_GETMINVISIBLE = 0x1702
- Global Const $CB_GETTOPINDEX = 0x15b
- Global Const $CB_INITSTORAGE = 0x161
- Global Const $CB_LIMITTEXT = 0x141
- Global Const $CB_RESETCONTENT = 0x14B
- Global Const $CB_INSERTSTRING = 0x14A
- Global Const $CB_SELECTSTRING = 0x14D
- Global Const $CB_SETCURSEL = 0x14E
- Global Const $CB_SETDROPPEDWIDTH = 0x160
- Global Const $CB_SETEDITSEL = 0x142
- Global Const $CB_SETEXTENDEDUI = 0x155
- Global Const $CB_SETHORIZONTALEXTENT = 0x15e
- Global Const $CB_SETITEMDATA = 0x151
- Global Const $CB_SETITEMHEIGHT = 0x153
- Global Const $CB_SETLOCALE = 0x15
- Global Const $CB_SETMINVISIBLE = 0x1701
- Global Const $CB_SETTOPINDEX = 0x15c
- Global Const $CB_SHOWDROPDOWN = 0x14F
- Global Const $CB_DDL_ARCHIVE = 0x20
- Global Const $CB_DDL_DIRECTORY = 0x10
- Global Const $CB_DDL_DRIVES = 0x4000
- Global Const $CB_DDL_EXCLUSIVE = 0x8000
- Global Const $CB_DDL_HIDDEN = 0x2
- Global Const $CB_DDL_READONLY = 0x1
- Global Const $CB_DDL_READWRITE = 0x0
- Global Const $CB_DDL_SYSTEM = 0x4
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\ComboConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\DateTimeConstants.au3>
- ; ----------------------------------------------------------------------------
- Global Const $DTS_SHORTDATEFORMAT = 0
- Global Const $DTS_UPDOWN = 1
- Global Const $DTS_SHOWNONE = 2
- Global Const $DTS_LONGDATEFORMAT = 4
- Global Const $DTS_TIMEFORMAT = 9
- Global Const $DTS_RIGHTALIGN = 32
- Global Const $MCS_NOTODAY = 16
- Global Const $MCS_NOTODAYCIRCLE = 8
- Global Const $MCS_WEEKNUMBERS = 4
- Global Const $MCM_FIRST = 0x1000
- Global Const $MCM_GETCOLOR = ($MCM_FIRST + 11)
- Global Const $MCM_GETFIRSTDAYOFWEEK = ($MCM_FIRST + 16)
- Global Const $MCM_GETMAXSELCOUNT = ($MCM_FIRST + 3)
- Global Const $MCM_GETMAXTODAYWIDTH = ($MCM_FIRST + 21)
- Global Const $MCM_GETMINREQRECT = ($MCM_FIRST + 9)
- Global Const $MCM_GETMONTHDELTA = ($MCM_FIRST + 19)
- Global Const $MCS_MULTISELECT = 0x2
- Global Const $MCM_SETCOLOR = ($MCM_FIRST + 10)
- Global Const $MCM_SETFIRSTDAYOFWEEK = ($MCM_FIRST + 15)
- Global Const $MCM_SETMAXSELCOUNT = ($MCM_FIRST + 4)
- Global Const $MCM_SETMONTHDELTA = ($MCM_FIRST + 20)
- Global Const $MCSC_BACKGROUND = 0
- Global Const $MCSC_MONTHBK = 4
- Global Const $MCSC_TEXT = 1
- Global Const $MCSC_TITLEBK = 2
- Global Const $MCSC_TITLETEXT = 3
- Global Const $MCSC_TRAILINGTEXT = 5
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\DateTimeConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\EditConstants.au3>
- ; ----------------------------------------------------------------------------
- Global Const $ES_LEFT = 0
- Global Const $ES_CENTER = 1
- Global Const $ES_RIGHT = 2
- Global Const $ES_MULTILINE = 4
- Global Const $ES_UPPERCASE = 8
- Global Const $ES_LOWERCASE = 16
- Global Const $ES_PASSWORD = 32
- Global Const $ES_AUTOVSCROLL = 64
- Global Const $ES_AUTOHSCROLL = 128
- Global Const $ES_NOHIDESEL = 256
- Global Const $ES_OEMCONVERT = 1024
- Global Const $ES_READONLY = 2048
- Global Const $ES_WANTRETURN = 4096
- Global Const $ES_NUMBER = 8192
- Global Const $EC_ERR = -1
- Global Const $ECM_FIRST = 0X1500
- Global Const $EM_CANUNDO = 0xC6
- Global Const $EM_EMPTYUNDOBUFFER = 0xCD
- Global Const $EM_GETFIRSTVISIBLELINE = 0xCE
- Global Const $EM_GETLINE = 0xC4
- Global Const $EM_GETLINECOUNT = 0xBA
- Global Const $EM_GETMODIFY = 0xB8
- Global Const $EM_GETRECT = 0xB2
- Global Const $EM_GETSEL = 0xB0
- Global Const $EM_LINEFROMCHAR = 0xC9
- Global Const $EM_LINEINDEX = 0xBB
- Global Const $EM_LINELENGTH = 0xC1
- Global Const $EM_LINESCROLL = 0xB6
- Global Const $EM_REPLACESEL = 0xC2
- Global Const $EM_SCROLL = 0xB5
- Global Const $EM_SCROLLCARET = 0x00B7
- Global Const $EM_SETMODIFY = 0xB9
- Global Const $EM_SETSEL = 0xB1
- Global Const $EM_UNDO = 0xC7
- Global Const $EM_SETREADONLY = 0x00CF
- Global Const $EM_SETTABSTOPS = 0x00CB
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\EditConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\StaticConstants.au3>
- ; ----------------------------------------------------------------------------
- Global Const $SS_LEFT = 0
- Global Const $SS_CENTER = 1
- Global Const $SS_RIGHT = 2
- Global Const $SS_ICON = 3
- Global Const $SS_BLACKRECT = 4
- Global Const $SS_GRAYRECT = 5
- Global Const $SS_WHITERECT = 6
- Global Const $SS_BLACKFRAME = 7
- Global Const $SS_GRAYFRAME = 8
- Global Const $SS_WHITEFRAME = 9
- Global Const $SS_SIMPLE = 11
- Global Const $SS_LEFTNOWORDWRAP = 12
- Global Const $SS_BITMAP = 15
- Global Const $SS_ETCHEDHORZ = 16
- Global Const $SS_ETCHEDVERT = 17
- Global Const $SS_ETCHEDFRAME = 18
- Global Const $SS_NOPREFIX = 0x0080
- Global Const $SS_NOTIFY = 0x0100
- Global Const $SS_CENTERIMAGE = 0x0200
- Global Const $SS_RIGHTJUST = 0x0400
- Global Const $SS_SUNKEN = 0x1000
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\StaticConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\ListBoxConstants.au3>
- ; ----------------------------------------------------------------------------
- Global Const $LBS_NOTIFY = 0x0001
- Global Const $LBS_SORT = 0x0002
- Global Const $LBS_USETABSTOPS = 0x0080
- Global Const $LBS_NOINTEGRALHEIGHT = 0x0100
- Global Const $LBS_DISABLENOSCROLL = 0x1000
- Global Const $LBS_NOSEL = 0x4000
- Global Const $LBS_STANDARD = 0xA00003
- Global Const $LB_ERR = -1
- Global Const $LB_ERRATTRIBUTE = -3
- Global Const $LB_ERRREQUIRED = -4
- Global Const $LB_ERRSPACE = -2
- Global Const $LB_ADDSTRING = 0x180
- Global Const $LB_DELETESTRING = 0x182
- Global Const $LB_DIR = 0x18D
- Global Const $LB_FINDSTRING = 0x18F
- Global Const $LB_FINDSTRINGEXACT = 0x1A2
- Global Const $LB_GETANCHORINDEX = 0x019D
- Global Const $LB_GETCARETINDEX = 0x019F
- Global Const $LB_GETCOUNT = 0x18B
- Global Const $LB_GETCURSEL = 0x188
- Global Const $LB_GETHORIZONTALEXTENT = 0x193
- Global Const $LB_GETITEMRECT = 0x198
- Global Const $LB_GETLISTBOXINFO = 0x01B2
- Global Const $LB_GETLOCALE = 0x1A6
- Global Const $LB_GETSEL = 0x0187
- Global Const $LB_GETSELCOUNT = 0x0190
- Global Const $LB_GETSELITEMS = 0X191
- Global Const $LB_GETTEXT = 0x0189
- Global Const $LB_GETTEXTLEN = 0x018A
- Global Const $LB_GETTOPINDEX = 0x018E
- Global Const $LB_INSERTSTRING = 0x181
- Global Const $LB_RESETCONTENT = 0x184
- Global Const $LB_SELECTSTRING = 0x18C
- Global Const $LB_SETITEMHEIGHT = 0x1A0
- Global Const $LB_SELITEMRANGE = 0x19B
- Global Const $LB_SELITEMRANGEEX = 0x0183
- Global Const $LB_SETANCHORINDEX = 0x19C
- Global Const $LB_SETCARETINDEX = 0x19E
- Global Const $LB_SETCURSEL = 0x186
- Global Const $LB_SETHORIZONTALEXTENT = 0x194
- Global Const $LB_SETLOCALE = 0x1A5
- Global Const $LB_SETSEL = 0x0185
- Global Const $LB_SETTOPINDEX = 0x197
- Global Const $LBS_MULTIPLESEL = 0x8
- Global Const $DDL_ARCHIVE = 0x20
- Global Const $DDL_DIRECTORY = 0x10
- Global Const $DDL_DRIVES = 0x4000
- Global Const $DDL_EXCLUSIVE = 0x8000
- Global Const $DDL_HIDDEN = 0x2
- Global Const $DDL_READONLY = 0x1
- Global Const $DDL_READWRITE = 0x0
- Global Const $DDL_SYSTEM = 0x4
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\ListBoxConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\ListViewConstants.au3>
- ; ----------------------------------------------------------------------------
- Global Const $LVS_ICON = 0x0000
- Global Const $LVS_REPORT = 0x0001
- Global Const $LVS_SMALLICON = 0x0002
- Global Const $LVS_LIST = 0x0003
- Global Const $LVS_EDITLABELS = 0x0200
- Global Const $LVS_NOCOLUMNHEADER = 0x4000
- Global Const $LVS_NOSORTHEADER = 0x8000
- Global Const $LVS_SINGLESEL = 0x0004
- Global Const $LVS_SHOWSELALWAYS = 0x0008
- Global Const $LVS_SORTASCENDING = 0X0010
- Global Const $LVS_SORTDESCENDING = 0x0020
- Global Const $LVS_NOLABELWRAP = 0x0080
- Global Const $LVS_EX_FULLROWSELECT = 0x00000020
- Global Const $LVS_EX_GRIDLINES = 0x00000001
- Global Const $LVS_EX_SUBITEMIMAGES = 0x00000002
- Global Const $LVS_EX_CHECKBOXES = 0x00000004
- Global Const $LVS_EX_TRACKSELECT = 0x00000008
- Global Const $LVS_EX_HEADERDRAGDROP = 0x00000010
- Global Const $LVS_EX_FLATSB = 0x00000100
- Global Const $LVS_EX_BORDERSELECT = 0x00008000
- Global Const $LVS_EX_HIDELABELS = 0x20000
- Global Const $LVS_EX_INFOTIP = 0x400
- Global Const $LVS_EX_LABELTIP = 0x4000
- Global Const $LVS_EX_ONECLICKACTIVATE = 0x40
- Global Const $LVS_EX_REGIONAL = 0x200
- Global Const $LVS_EX_SINGLEROW = 0x40000
- Global Const $LVS_EX_TWOCLICKACTIVATE = 0x80
- Global Const $LVS_EX_UNDERLINEHOT = 0x800
- Global Const $LVS_EX_UNDERLINECOLD = 0x1000
- Global Const $LV_ERR = -1
- Global Const $CCM_FIRST = 0x2000
- Global Const $CCM_GETUNICODEFORMAT = ($CCM_FIRST + 6)
- Global Const $CCM_SETUNICODEFORMAT = ($CCM_FIRST + 5)
- Global Const $CLR_NONE = 0xFFFFFFFF
- Global Const $LVM_FIRST = 0x1000
- Global Const $LV_VIEW_DETAILS = 0x1
- Global Const $LV_VIEW_ICON = 0x0
- Global Const $LV_VIEW_LIST = 0x3
- Global Const $LV_VIEW_SMALLICON = 0x2
- Global Const $LV_VIEW_TILE = 0x4
- Global Const $LVCF_FMT = 0x1
- Global Const $LVCF_WIDTH = 0x2
- Global Const $LVCF_TEXT = 0x4
- Global Const $LVCFMT_CENTER = 0x2
- Global Const $LVCFMT_LEFT = 0x0
- Global Const $LVCFMT_RIGHT = 0x1
- Global Const $LVA_ALIGNLEFT = 0x1
- Global Const $LVA_ALIGNTOP = 0x2
- Global Const $LVA_DEFAULT = 0x0
- Global Const $LVA_SNAPTOGRID = 0x5
- Global Const $LVIF_STATE = 0x8
- Global Const $LVIF_TEXT = 0x1
- Global Const $LVFI_PARAM = 0x1
- Global Const $LVFI_PARTIAL = 0x8
- Global Const $LVFI_STRING = 0x2
- Global Const $LVFI_WRAP = 0x20
- Global Const $VK_LEFT = 0x25
- Global Const $VK_RIGHT = 0x27
- Global Const $VK_UP = 0x26
- Global Const $VK_DOWN = 0x28
- Global Const $VK_END = 0x23
- Global Const $VK_PRIOR = 0x21
- Global Const $VK_NEXT = 0x22
- Global Const $LVIR_BOUNDS = 0
- Global Const $LVIS_CUT = 0x4
- Global Const $LVIS_DROPHILITED = 0x8
- Global Const $LVIS_FOCUSED = 0x1
- Global Const $LVIS_OVERLAYMASK = 0xF00
- Global Const $LVIS_SELECTED = 0x2
- Global Const $LVIS_STATEIMAGEMASK = 0xF000
- Global Const $LVM_ARRANGE = ($LVM_FIRST + 22)
- Global Const $LVM_CANCELEDITLABEL = ($LVM_FIRST + 179)
- Global Const $LVM_DELETECOLUMN = 0x101C
- Global Const $LVM_DELETEITEM = 0x1008
- Global Const $LVM_DELETEALLITEMS = 0x1009
- Global Const $LVM_EDITLABELA = ($LVM_FIRST + 23)
- Global Const $LVM_EDITLABEL = $LVM_EDITLABELA
- Global Const $LVM_ENABLEGROUPVIEW = ($LVM_FIRST + 157)
- Global Const $LVM_ENSUREVISIBLE = ($LVM_FIRST + 19)
- Global Const $LVM_FINDITEM = ($LVM_FIRST + 13)
- Global Const $LVM_GETBKCOLOR = ($LVM_FIRST + 0)
- Global Const $LVM_GETCALLBACKMASK = ($LVM_FIRST + 10)
- Global Const $LVM_GETCOLUMNORDERARRAY = ($LVM_FIRST + 59)
- Global Const $LVM_GETCOLUMNWIDTH = ($LVM_FIRST + 29)
- Global Const $LVM_GETCOUNTPERPAGE = ($LVM_FIRST + 40)
- Global Const $LVM_GETEDITCONTROL = ($LVM_FIRST + 24)
- Global Const $LVM_GETEXTENDEDLISTVIEWSTYLE = ($LVM_FIRST + 55)
- Global Const $LVM_GETHEADER = ($LVM_FIRST + 31)
- Global Const $LVM_GETHOTCURSOR = ($LVM_FIRST + 63)
- Global Const $LVM_GETHOTITEM = ($LVM_FIRST + 61)
- Global Const $LVM_GETHOVERTIME = ($LVM_FIRST + 72)
- Global Const $LVM_GETIMAGELIST = ($LVM_FIRST + 2)
- Global Const $LVM_GETITEMA = ($LVM_FIRST + 5)
- Global Const $LVM_GETITEMCOUNT = 0x1004
- Global Const $LVM_GETITEMSTATE = ($LVM_FIRST + 44)
- Global Const $LVM_GETITEMTEXTA = ($LVM_FIRST + 45)
- Global Const $LVM_GETNEXTITEM = 0x100c
- Global Const $LVM_GETSELECTEDCOLUMN = ($LVM_FIRST + 174)
- Global Const $LVM_GETSELECTEDCOUNT = ($LVM_FIRST + 50)
- Global Const $LVM_GETSUBITEMRECT = ($LVM_FIRST + 56)
- Global Const $LVM_GETTOPINDEX = ($LVM_FIRST + 39)
- Global Const $LVM_GETUNICODEFORMAT = $CCM_GETUNICODEFORMAT
- Global Const $LVM_GETVIEW = ($LVM_FIRST + 143)
- Global Const $LVM_GETVIEWRECT = ($LVM_FIRST + 34)
- Global Const $LVM_INSERTCOLUMNA = ($LVM_FIRST + 27)
- Global Const $LVM_INSERTITEMA = ($LVM_FIRST + 7)
- Global Const $LVM_REDRAWITEMS = ($LVM_FIRST + 21)
- Global Const $LVM_SETUNICODEFORMAT = $CCM_SETUNICODEFORMAT
- Global Const $LVM_SCROLL = ($LVM_FIRST + 20)
- Global Const $LVM_SETBKCOLOR = 0x1001
- Global Const $LVM_SETCALLBACKMASK = ($LVM_FIRST + 11)
- Global Const $LVM_SETCOLUMNA = ($LVM_FIRST + 26)
- Global Const $LVM_SETCOLUMNORDERARRAY = ($LVM_FIRST + 58)
- Global Const $LVM_SETCOLUMNWIDTH = 0x101E
- Global Const $LVM_SETEXTENDEDLISTVIEWSTYLE = 0x1036
- Global Const $LVM_SETHOTITEM = ($LVM_FIRST + 60)
- Global Const $LVM_SETHOVERTIME = ($LVM_FIRST + 71)
- Global Const $LVM_SETICONSPACING = ($LVM_FIRST + 53)
- Global Const $LVM_SETITEMCOUNT = ($LVM_FIRST + 47)
- Global Const $LVM_SETITEMPOSITION = ($LVM_FIRST + 15)
- Global Const $LVM_SETITEMSTATE = ($LVM_FIRST + 43)
- Global Const $LVM_SETITEMTEXTA = ($LVM_FIRST + 46)
- Global Const $LVM_SETSELECTEDCOLUMN = ($LVM_FIRST + 140)
- Global Const $LVM_SETTEXTCOLOR = ($LVM_FIRST + 36)
- Global Const $LVM_SETTEXTBKCOLOR = ($LVM_FIRST + 38)
- Global Const $LVM_SETVIEW = ($LVM_FIRST + 142)
- Global Const $LVM_UPDATE = ($LVM_FIRST + 42)
- Global Const $LVNI_ABOVE = 0x100
- Global Const $LVNI_BELOW = 0x200
- Global Const $LVNI_TOLEFT = 0x400
- Global Const $LVNI_TORIGHT = 0x800
- Global Const $LVNI_ALL = 0x0
- Global Const $LVNI_CUT = 0x4
- Global Const $LVNI_DROPHILITED = 0x8
- Global Const $LVNI_FOCUSED = 0x1
- Global Const $LVNI_SELECTED = 0x2
- Global Const $LVSCW_AUTOSIZE = -1
- Global Const $LVSCW_AUTOSIZE_USEHEADER = -2
- Global Const $LVSICF_NOINVALIDATEALL = 0x1
- Global Const $LVSICF_NOSCROLL = 0x2
- Global Const $LVSIL_NORMAL = 0
- Global Const $LVSIL_SMALL = 1
- Global Const $LVSIL_STATE = 2
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\ListViewConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\SliderConstants.au3>
- ; ----------------------------------------------------------------------------
- Global Const $TBS_AUTOTICKS = 0x0001
- Global Const $TBS_VERT = 0x0002
- Global Const $TBS_HORZ = 0x0000
- Global Const $TBS_TOP = 0x0004
- Global Const $TBS_BOTTOM = 0x0000
- Global Const $TBS_LEFT = 0x0004
- Global Const $TBS_RIGHT = 0x0000
- Global Const $TBS_BOTH = 0x0008
- Global Const $TBS_NOTICKS = 0x0010
- Global Const $TBS_NOTHUMB = 0x0080
- Global Const $TWM_USER = 0x400
- Global Const $TBM_CLEARTICS = ($TWM_USER + 9)
- Global Const $TBM_GETLINESIZE = ($TWM_USER + 24)
- Global Const $TBM_GETPAGESIZE = ($TWM_USER + 22)
- Global Const $TBM_GETNUMTICS = ($TWM_USER + 16)
- Global Const $TBM_GETPOS = $TWM_USER
- Global Const $TBM_GETRANGEMAX = ($TWM_USER + 2)
- Global Const $TBM_GETRANGEMIN = ($TWM_USER + 1)
- Global Const $TBM_SETLINESIZE = ($TWM_USER + 23)
- Global Const $TBM_SETPAGESIZE = ($TWM_USER + 21)
- Global Const $TBM_SETPOS = ($TWM_USER + 5)
- Global Const $TBM_SETTICFREQ = ($TWM_USER + 20)
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\SliderConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\TreeViewConstants.au3>
- ; ----------------------------------------------------------------------------
- Global Const $TVS_HASBUTTONS = 0x0001
- Global Const $TVS_HASLINES = 0x0002
- Global Const $TVS_LINESATROOT = 0x0004
- Global Const $TVS_DISABLEDRAGDROP = 0x0010
- Global Const $TVS_SHOWSELALWAYS = 0x0020
- Global Const $TVS_NOTOOLTIPS = 0x0080
- Global Const $TVS_CHECKBOXES = 0x0100
- Global Const $TVS_TRACKSELECT = 0x0200
- Global Const $TVS_SINGLEEXPAND = 0x0400
- Global Const $TVS_FULLROWSELECT = 0x1000
- Global Const $TVS_NOSCROLL = 0x2000
- Global Const $TVS_NONEVENHEIGHT = 0x4000
- Global Const $TVE_COLLAPSE = 0x0001
- Global Const $TVE_EXPAND = 0x0002
- Global Const $TVE_TOGGLE = 0x0003
- Global Const $TVE_EXPANDPARTIAL = 0x4000
- Global Const $TVE_COLLAPSERESET = 0x8000
- Global Const $TVGN_ROOT = 0x0000
- Global Const $TVGN_NEXT = 0x0001
- Global Const $TVGN_PARENT = 0x0003
- Global Const $TVGN_CHILD = 0x0004
- Global Const $TVGN_CARET = 0x0009
- Global Const $TVI_ROOT = 0xFFFF0000
- Global Const $TVI_FIRST = 0xFFFF0001
- Global Const $TVI_LAST = 0xFFFF0002
- Global Const $TVI_SORT = 0xFFFF0003
- Global Const $TVIF_TEXT = 0x0001
- Global Const $TVIF_IMAGE = 0x0002
- Global Const $TVIF_PARAM = 0x0004
- Global Const $TVIF_STATE = 0x0008
- Global Const $TVIF_HANDLE = 0x0010
- Global Const $TVIF_SELECTEDIMAGE = 0x0020
- Global Const $TVIF_CHILDREN = 0x0040
- Global Const $TVIS_SELECTED = 0x0002
- Global Const $TVIS_CUT = 0x0004
- Global Const $TVIS_DROPHILITED = 0x0008
- Global Const $TVIS_BOLD = 0x0010
- Global Const $TVIS_EXPANDED = 0x0020
- Global Const $TVIS_EXPANDEDONCE = 0x0040
- Global Const $TVIS_EXPANDPARTIAL = 0x0080
- Global Const $TVIS_OVERLAYMASK = 0x0F00
- Global Const $TVIS_STATEIMAGEMASK = 0xF000
- Global Const $TV_FIRST = 0x1100
- Global Const $TVM_INSERTITEM = $TV_FIRST + 0
- Global Const $TVM_DELETEITEM = $TV_FIRST + 1
- Global Const $TVM_EXPAND = $TV_FIRST + 2
- Global Const $TVM_GETCOUNT = $TV_FIRST + 5
- Global Const $TVM_GETINDENT = $TV_FIRST + 6
- Global Const $TVM_SETINDENT = $TV_FIRST + 7
- Global Const $TVM_GETIMAGELIST = $TV_FIRST + 8
- Global Const $TVM_SETIMAGELIST = $TV_FIRST + 9
- Global Const $TVM_GETNEXTITEM = $TV_FIRST + 10
- Global Const $TVM_SELECTITEM = $TV_FIRST + 11
- Global Const $TVM_GETITEM = $TV_FIRST + 12
- Global Const $TVM_SETITEM = $TV_FIRST + 13
- Global Const $TVM_SORTCHILDREN = $TV_FIRST + 19
- Global Const $TVM_ENSUREVISIBLE = $TV_FIRST + 20
- Global Const $TVM_SETBKCOLOR = $TV_FIRST + 29
- Global Const $TVM_SETTEXTCOLOR = $TV_FIRST + 30
- Global Const $TVM_GETBKCOLOR = $TV_FIRST + 31
- Global Const $TVM_GETTEXTCOLOR = $TV_FIRST + 32
- Global Const $TVM_SETLINECOLOR = $TV_FIRST + 40
- Global Const $TVM_GETLINECOLOR = $TV_FIRST + 41
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\TreeViewConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\UpDownConstants.au3>
- ; ----------------------------------------------------------------------------
- Global Const $UDS_WRAP = 0x0001
- Global Const $UDS_SETBUDDYINT = 0x0002
- Global Const $UDS_ALIGNRIGHT = 0x0004
- Global Const $UDS_ALIGNLEFT = 0x0008
- Global Const $UDS_ARROWKEYS = 0x0020
- Global Const $UDS_HORZ = 0x0040
- Global Const $UDS_NOTHOUSANDS = 0x0080
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\UpDownConstants.au3>
- ; ----------------------------------------------------------------------------
- Global Const $GUI_SS_DEFAULT_AVI = $ACS_TRANSPARENT
- Global Const $GUI_SS_DEFAULT_BUTTON = 0
- Global Const $GUI_SS_DEFAULT_CHECKBOX = 0
- Global Const $GUI_SS_DEFAULT_COMBO = BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL, $WS_VSCROLL)
- Global Const $GUI_SS_DEFAULT_DATE = $DTS_LONGDATEFORMAT
- Global Const $GUI_SS_DEFAULT_EDIT = BitOR($ES_WANTRETURN, $WS_VSCROLL, $WS_HSCROLL, $ES_AUTOVSCROLL, $ES_AUTOHSCROLL)
- Global Const $GUI_SS_DEFAULT_GRAPHIC = 0
- Global Const $GUI_SS_DEFAULT_GROUP = 0
- Global Const $GUI_SS_DEFAULT_ICON = $SS_NOTIFY
- Global Const $GUI_SS_DEFAULT_INPUT = BitOR($ES_LEFT, $ES_AUTOHSCROLL)
- Global Const $GUI_SS_DEFAULT_LABEL = 0
- Global Const $GUI_SS_DEFAULT_LIST = BitOR($LBS_SORT, $WS_BORDER, $WS_VSCROLL, $LBS_NOTIFY)
- Global Const $GUI_SS_DEFAULT_LISTVIEW = BitOR($LVS_SHOWSELALWAYS, $LVS_SINGLESEL)
- Global Const $GUI_SS_DEFAULT_MONTHCAL = 0
- Global Const $GUI_SS_DEFAULT_PIC = $SS_NOTIFY
- Global Const $GUI_SS_DEFAULT_PROGRESS = 0
- Global Const $GUI_SS_DEFAULT_RADIO = 0
- Global Const $GUI_SS_DEFAULT_SLIDER = $TBS_AUTOTICKS
- Global Const $GUI_SS_DEFAULT_TAB = 0
- Global Const $GUI_SS_DEFAULT_TREEVIEW = BitOR($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS)
- Global Const $GUI_SS_DEFAULT_UPDOWN = $UDS_ALIGNRIGHT
- Global Const $GUI_SS_DEFAULT_GUI = BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU)
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\GUIDefaultConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\GUIConstantsEx.au3>
- ; ----------------------------------------------------------------------------
- Global Const $GUI_EVENT_CLOSE = -3
- Global Const $GUI_EVENT_MINIMIZE = -4
- Global Const $GUI_EVENT_RESTORE = -5
- Global Const $GUI_EVENT_MAXIMIZE = -6
- Global Const $GUI_EVENT_PRIMARYDOWN = -7
- Global Const $GUI_EVENT_PRIMARYUP = -8
- Global Const $GUI_EVENT_SECONDARYDOWN = -9
- Global Const $GUI_EVENT_SECONDARYUP = -10
- Global Const $GUI_EVENT_MOUSEMOVE = -11
- Global Const $GUI_EVENT_RESIZED = -12
- Global Const $GUI_EVENT_DROPPED = -13
- Global Const $GUI_RUNDEFMSG = 'GUI_RUNDEFMSG'
- Global Const $GUI_AVISTOP = 0
- Global Const $GUI_AVISTART = 1
- Global Const $GUI_AVICLOSE = 2
- Global Const $GUI_CHECKED = 1
- Global Const $GUI_INDETERMINATE = 2
- Global Const $GUI_UNCHECKED = 4
- Global Const $GUI_DROPACCEPTED = 8
- Global Const $GUI_NODROPACCEPTED = 4096
- Global Const $GUI_ACCEPTFILES = $GUI_DROPACCEPTED
- Global Const $GUI_SHOW = 16
- Global Const $GUI_HIDE = 32
- Global Const $GUI_ENABLE = 64
- Global Const $GUI_DISABLE = 128
- Global Const $GUI_FOCUS = 256
- Global Const $GUI_NOFOCUS = 8192
- Global Const $GUI_DEFBUTTON = 512
- Global Const $GUI_EXPAND = 1024
- Global Const $GUI_ONTOP = 2048
- Global Const $GUI_FONTITALIC = 2
- Global Const $GUI_FONTUNDER = 4
- Global Const $GUI_FONTSTRIKE = 8
- Global Const $GUI_DOCKAUTO = 0x0001
- Global Const $GUI_DOCKLEFT = 0x0002
- Global Const $GUI_DOCKRIGHT = 0x0004
- Global Const $GUI_DOCKHCENTER = 0x0008
- Global Const $GUI_DOCKTOP = 0x0020
- Global Const $GUI_DOCKBOTTOM = 0x0040
- Global Const $GUI_DOCKVCENTER = 0x0080
- Global Const $GUI_DOCKWIDTH = 0x0100
- Global Const $GUI_DOCKHEIGHT = 0x0200
- Global Const $GUI_DOCKSIZE = 0x0300
- Global Const $GUI_DOCKMENUBAR = 0x0220
- Global Const $GUI_DOCKSTATEBAR = 0x0240
- Global Const $GUI_DOCKALL = 0x0322
- Global Const $GUI_DOCKBORDERS = 0x0066
- Global Const $GUI_GR_CLOSE = 1
- Global Const $GUI_GR_LINE = 2
- Global Const $GUI_GR_BEZIER = 4
- Global Const $GUI_GR_MOVE = 6
- Global Const $GUI_GR_COLOR = 8
- Global Const $GUI_GR_RECT = 10
- Global Const $GUI_GR_ELLIPSE = 12
- Global Const $GUI_GR_PIE = 14
- Global Const $GUI_GR_DOT = 16
- Global Const $GUI_GR_PIXEL = 18
- Global Const $GUI_GR_HINT = 20
- Global Const $GUI_GR_REFRESH = 22
- Global Const $GUI_GR_PENSIZE = 24
- Global Const $GUI_GR_NOBKCOLOR = -2
- Global Const $GUI_BKCOLOR_DEFAULT = -1
- Global Const $GUI_BKCOLOR_TRANSPARENT = -2
- Global Const $GUI_BKCOLOR_LV_ALTERNATE = 0xFE000000
- Global Const $GUI_WS_EX_PARENTDRAG = 0x00100000
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\GUIConstantsEx.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\WindowsConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\WindowsConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\ComboConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\ComboConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\ListViewConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\ListViewConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\StaticConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\StaticConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\ButtonConstants.au3>
- ; ----------------------------------------------------------------------------
- Global Const $BS_GROUPBOX = 0x0007
- Global Const $BS_BOTTOM = 0x0800
- Global Const $BS_CENTER = 0x0300
- Global Const $BS_DEFPUSHBUTTON = 0x0001
- Global Const $BS_LEFT = 0x0100
- Global Const $BS_MULTILINE = 0x2000
- Global Const $BS_PUSHBOX = 0x000A
- Global Const $BS_PUSHLIKE = 0x1000
- Global Const $BS_RIGHT = 0x0200
- Global Const $BS_RIGHTBUTTON = 0x0020
- Global Const $BS_TOP = 0x0400
- Global Const $BS_VCENTER = 0x0C00
- Global Const $BS_FLAT = 0x8000
- Global Const $BS_ICON = 0x0040
- Global Const $BS_BITMAP = 0x0080
- Global Const $BS_NOTIFY = 0x4000
- Global Const $BS_3STATE = 0x0005
- Global Const $BS_AUTO3STATE = 0x0006
- Global Const $BS_AUTOCHECKBOX = 0x0003
- Global Const $BS_CHECKBOX = 0x0002
- Global Const $BS_AUTORADIOBUTTON = 0x0009
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\ButtonConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\ListBoxConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\ListBoxConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\TabConstants.au3>
- ; ----------------------------------------------------------------------------
- Global Const $TCS_SCROLLOPPOSITE = 0x0001
- Global Const $TCS_BOTTOM = 0x0002
- Global Const $TCS_RIGHT = 0x0002
- Global Const $TCS_MULTISELECT = 0x0004
- Global Const $TCS_FLATBUTTONS = 0x0008
- Global Const $TCS_FORCEICONLEFT = 0x0010
- Global Const $TCS_FORCELABELLEFT = 0x0020
- Global Const $TCS_HOTTRACK = 0x0040
- Global Const $TCS_VERTICAL = 0x0080
- Global Const $TCS_TABS = 0x0000
- Global Const $TCS_BUTTONS = 0x0100
- Global Const $TCS_SINGLELINE = 0x0000
- Global Const $TCS_MULTILINE = 0x0200
- Global Const $TCS_RIGHTJUSTIFY = 0x0000
- Global Const $TCS_FIXEDWIDTH = 0x0400
- Global Const $TCS_RAGGEDRIGHT = 0x0800
- Global Const $TCS_FOCUSONBUTTONDOWN = 0x1000
- Global Const $TCS_OWNERDRAWFIXED = 0x2000
- Global Const $TCS_TOOLTIPS = 0x4000
- Global Const $TCS_FOCUSNEVER = 0x8000
- Global Const $TCS_EX_FLATSEPARATORS = 0x1
- Global Const $TC_ERR = -1
- Global Const $TCIS_BUTTONPRESSED = 0x1
- Global Const $TCS_EX_REGISTERDROP = 0x2
- Global Const $TCM_FIRST = 0x1300
- Global Const $TCM_DELETEALLITEMS = ($TCM_FIRST + 9)
- Global Const $TCM_DELETEITEM = ($TCM_FIRST + 8)
- Global Const $TCM_DESELECTALL = ($TCM_FIRST + 50)
- Global Const $TCM_GETCURFOCUS = ($TCM_FIRST + 47)
- Global Const $TCM_GETCURSEL = ($TCM_FIRST + 11)
- Global Const $TCM_GETEXTENDEDSTYLE = ($TCM_FIRST + 53)
- Global Const $TCM_GETITEMCOUNT = ($TCM_FIRST + 4)
- Global Const $TCM_GETITEMRECT = ($TCM_FIRST + 10)
- Global Const $TCM_GETROWCOUNT = ($TCM_FIRST + 44)
- Global Const $TCM_SETITEMSIZE = $TCM_FIRST + 41
- Global Const $TCCM_FIRST = 0X2000
- Global Const $TCCM_GETUNICODEFORMAT = ($TCCM_FIRST + 6)
- Global Const $TCM_GETUNICODEFORMAT = $TCCM_GETUNICODEFORMAT
- Global Const $TCM_HIGHLIGHTITEM = ($TCM_FIRST + 51)
- Global Const $TCM_SETCURFOCUS = ($TCM_FIRST + 48)
- Global Const $TCM_SETCURSEL = ($TCM_FIRST + 12)
- Global Const $TCM_SETMINTABWIDTH = ($TCM_FIRST + 49)
- Global Const $TCM_SETPADDING = ($TCM_FIRST + 43)
- Global Const $TCCM_SETUNICODEFORMAT = ($TCCM_FIRST + 5)
- Global Const $TCM_SETUNICODEFORMAT = $TCCM_SETUNICODEFORMAT
- Global Const $TCN_FIRST = -550
- Global Const $TCN_SELCHANGE = ($TCN_FIRST - 1)
- Global Const $TCN_SELCHANGING = ($TCN_FIRST - 2)
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\TabConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\EditConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\EditConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\DateTimeConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\DateTimeConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\SliderConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\SliderConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\TreeViewConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\TreeViewConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\ProgressConstants.au3>
- ; ----------------------------------------------------------------------------
- Global Const $PBS_SMOOTH = 1
- Global Const $PBS_VERTICAL = 4
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\ProgressConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\AVIConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\AVIConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\UpDownConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\UpDownConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\GUIConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\onEventFunc.au3>
- ; ----------------------------------------------------------------------------
- #AutoIt3Wrapper_Add_Constants=n
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\array.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\GuiConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\GuiConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\GuiListView.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\ListViewConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\ListViewConstants.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\Array.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\Array.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\Misc.au3>
- ; ----------------------------------------------------------------------------
- Global Const $CC_ANYCOLOR = 0x100
- Global Const $CC_FULLOPEN = 0x2
- Global Const $CC_RGBINIT = 0x1
- Global Const $CF_EFFECTS = 0x100
- Global Const $CF_PRINTERFONTS = 0x2
- Global Const $CF_SCREENFONTS = 0x1
- Global Const $CF_NOSCRIPTSEL = 0x800000
- Global Const $CF_INITTOLOGFONTSTRUCT = 0x40
- Global Const $DEFAULT_PITCH = 0
- Global Const $FF_DONTCARE = 0
- Global Const $LOGPIXELSX = 88
- Func _ChooseColor($i_ReturnType = 0, $i_colorref = 0, $i_refType = 0)
- Local $custcolors = "int[16]"
- Local $struct = "dword;int;int;int;ptr;dword;int;ptr;ptr"
- Local $p = DllStructCreate($struct)
- If @error Then
- SetError(-1)
- Return -1
- EndIf
- Local $cc = DllStructCreate($custcolors)
- If @error Then
- SetError(-2)
- Return -1
- EndIf
- If ($i_refType == 1) Then
- $i_colorref = Int($i_colorref)
- ElseIf ($i_refType == 2) Then
- $i_colorref = Hex(String($i_colorref), 6)
- $i_colorref = '0x' & StringMid($i_colorref, 5, 2) & StringMid($i_colorref, 3, 2) & StringMid($i_colorref, 1, 2)
- EndIf
- DllStructSetData($p, 1, DllStructGetSize($p))
- DllStructSetData($p, 2, 0)
- DllStructSetData($p, 4, $i_colorref)
- DllStructSetData($p, 5, DllStructGetPtr($cc))
- DllStructSetData($p, 6, BitOR($CC_ANYCOLOR, $CC_FULLOPEN, $CC_RGBINIT))
- Local $ret = DllCall("comdlg32.dll", "long", "ChooseColor", "ptr", DllStructGetPtr($p))
- If ($ret[0] == 0) Then
- SetError(-3)
- Return -1
- EndIf
- Local $color_picked = DllStructGetData($p, 4)
- If ($i_ReturnType == 1) Then
- Return '0x' & Hex(String($color_picked), 6)
- ElseIf ($i_ReturnType == 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 ($i_ReturnType == 0) Then
- Return $color_picked
- Else
- SetError(-4)
- Return -1
- EndIf
- EndFunc
- Func _ChooseFont($s_FontName = "Courier New", $i_size = 10, $i_colorref = 0, $i_FontWeight = 0, $i_Italic = 0, $i_Underline = 0, $i_Strikethru = 0)
- Local $ret = DllCall("gdi32.dll", "long", "GetDeviceCaps", "long", 0, "long", $LOGPIXELSX)
- If ($ret[0] == -1) Then
- SetError(-3)
- Return -1
- EndIf
- Local $lfHeight = Round(($i_size * $ret[2]) / 72, 0)
- Local $logfont = "int;int;int;int;int;byte;byte;byte;byte;byte;byte;byte;byte;char[32]"
- Local $struct = "dword;int;int;ptr;int;dword;int;int;ptr;ptr;int;ptr;dword;int;int"
- Local $p = DllStructCreate($struct)
- If @error Then
- SetError(-1)
- Return -1
- EndIf
- Local $lf = DllStructCreate($logfont)
- If @error Then
- SetError(-2)
- Return -1
- EndIf
- DllStructSetData($p, 1, DllStructGetSize($p))
- DllStructSetData($p, 2, 0)
- DllStructSetData($p, 4, DllStructGetPtr($lf))
- DllStructSetData($p, 5, $i_size)
- DllStructSetData($p, 6, BitOR($CF_SCREENFONTS, $CF_PRINTERFONTS, $CF_EFFECTS, $CF_INITTOLOGFONTSTRUCT, $CF_NOSCRIPTSEL))
- DllStructSetData($p, 7, $i_colorref)
- DllStructSetData($p, 13, 0)
- DllStructSetData($lf, 1, $lfHeight + 1)
- DllStructSetData($lf, 5, $i_FontWeight)
- DllStructSetData($lf, 6, $i_Italic)
- DllStructSetData($lf, 7, $i_Underline)
- DllStructSetData($lf, 8, $i_Strikethru)
- DllStructSetData($lf, 14, $s_FontName)
- $ret = DllCall("comdlg32.dll", "long", "ChooseFont", "ptr", DllStructGetPtr($p))
- If ($ret[0] == 0) Then
- SetError(-3)
- Return -1
- EndIf
- Local $fontname = DllStructGetData($lf, 14)
- If (StringLen($fontname) == 0 And StringLen($s_FontName) > 0) Then
- $fontname = $s_FontName
- EndIf
- Local $italic = 0
- Local $underline = 0
- Local $strikeout = 0
- If (DllStructGetData($lf, 6)) Then
- $italic = 2
- EndIf
- If (DllStructGetData($lf, 7)) Then
- $underline = 4
- EndIf
- If (DllStructGetData($lf, 8)) Then
- $strikeout = 8
- EndIf
- Local $attributes = BitOR($italic, $underline, $strikeout)
- Local $size = DllStructGetData($p, 5) / 10
- Local $weight = DllStructGetData($lf, 5)
- Local $colorref = DllStructGetData($p, 7)
- 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, $sSeperator = "|")
- Local $vDllCallTmp, $nGlobMemSize, $hGlobal, $DROPFILES, $i, $hLock
- Local $GMEM_MOVEABLE = 0x0002, $CF_HDROP = 15
- $sFile = $sFile & $sSeperator & $sSeperator
- $nGlobMemSize = StringLen($sFile) + 20
- $vDllCallTmp = DllCall("user32.dll", "int", "OpenClipboard", "hwnd", 0)
- If @error Or $vDllCallTmp[0] = 0 Then
- SetError(1)
- Return False
- EndIf
- $vDllCallTmp = DllCall("user32.dll", "int", "EmptyClipboard")
- If @error Or $vDllCallTmp[0] = 0 Then
- SetError(2)
- Return False
- EndIf
- $vDllCallTmp = DllCall("kernel32.dll", "long", "GlobalAlloc", "int", $GMEM_MOVEABLE, "int", $nGlobMemSize)
- If @error Or $vDllCallTmp[0] < 1 Then
- SetError(3)
- Return False
- EndIf
- $hGlobal = $vDllCallTmp[0]
- $vDllCallTmp = DllCall("kernel32.dll", "long", "GlobalLock", "long", $hGlobal)
- If @error Or $vDllCallTmp[0] < 1 Then
- SetError(4)
- Return False
- EndIf
- $hLock = $vDllCallTmp[0]
- $DROPFILES = DllStructCreate("dword;ptr;int;int;int;char[" & StringLen($sFile) & "]", $hLock)
- If @error Then
- SetError(5)
- Return False
- EndIf
- DllStructSetData($DROPFILES, 1, DllStructGetSize($DROPFILES) - StringLen($sFile))
- 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) = Asc($sSeperator) Then DllStructSetData($DROPFILES, 6, 0, $i)
- Next
- $vDllCallTmp = DllCall("user32.dll", "long", "SetClipboardData", "int", $CF_HDROP, "long", $hGlobal)
- If @error Or $vDllCallTmp[0] < 1 Then
- SetError(6)
- $DROPFILES = 0
- Return False
- EndIf
- $vDllCallTmp = DllCall("user32.dll", "int", "CloseClipboard")
- If @error Or $vDllCallTmp[0] = 0 Then
- SetError(7)
- $DROPFILES = 0
- Return False
- EndIf
- $vDllCallTmp = DllCall("kernel32.dll", "int", "GlobalUnlock", "long", $hGlobal)
- If @error Then
- SetError(8)
- $DROPFILES = 0
- Return False
- EndIf
- $vDllCallTmp = DllCall("kernel32.dll", "int", "GetLastError")
- If $vDllCallTmp = 0 Then
- $DROPFILES = 0
- SetError(8)
- Return False
- Else
- $DROPFILES = 0
- Return True
- EndIf
- EndFunc
- Func _Iif($f_Test, $v_TrueVal, $v_FalseVal)
- If $f_Test Then
- Return $v_TrueVal
- Else
- Return $v_FalseVal
- EndIf
- EndFunc
- Func _MouseTrap($i_left = 0, $i_top = 0, $i_right = 0, $i_bottom = 0)
- Local $av_ret
- If @NumParams == 0 Then
- $av_ret = DllCall("user32.dll", "int", "ClipCursor", "int", 0)
- Else
- If @NumParams == 2 Then
- $i_right = $i_left + 1
- $i_bottom = $i_top + 1
- EndIf
- Local $Rect = DllStructCreate("int;int;int;int")
- If @error Then Return 0
- DllStructSetData($Rect, 1, $i_left)
- DllStructSetData($Rect, 2, $i_top)
- DllStructSetData($Rect, 3, $i_right)
- DllStructSetData($Rect, 4, $i_bottom)
- $av_ret = DllCall("user32.dll", "int", "ClipCursor", "ptr", DllStructGetPtr($Rect))
- EndIf
- Return $av_ret[0]
- EndFunc
- Func _Singleton($occurenceName, $flag = 0)
- Local $ERROR_ALREADY_EXISTS = 183
- $occurenceName = StringReplace($occurenceName, "\", "")
- Local $handle = DllCall("kernel32.dll", "int", "CreateMutex", "int", 0, "long", 1, "str", $occurenceName)
- Local $lastError = DllCall("kernel32.dll", "int", "GetLastError")
- If $lastError[0] = $ERROR_ALREADY_EXISTS Then
- If $flag = 0 Then
- Exit -1
- Else
- SetError($lastError[0])
- Return 0
- EndIf
- EndIf
- Return $handle[0]
- EndFunc
- Func _IsPressed($s_hexKey, $v_dll = 'user32.dll')
- Local $a_R = DllCall($v_dll, "int", "GetAsyncKeyState", "int", '0x' & $s_hexKey)
- If Not @error And BitAND($a_R[0], 0x8000) = 0x8000 Then Return 1
- Return 0
- EndFunc
- Func _SendMessage($h_hWnd, $i_msg, $wParam = 0, $lParam = 0, $i_r = 0, $s_t1 = "int", $s_t2 = "int")
- Local $a_ret = DllCall("user32.dll", "long", "SendMessage", "hwnd", $h_hWnd, "int", $i_msg, $s_t1, $wParam, $s_t2, $lParam)
- If @error Then Return SetError(@error, @extended, "")
- If $i_r >= 0 And $i_r <= 4 Then Return $a_ret[$i_r]
- Return $a_ret
- EndFunc
- Func _IsClassName($h_hWnd, $s_ClassName)
- If Not IsHWnd($h_hWnd) Then $h_hWnd = GUICtrlGetHandle($h_hWnd)
- Local $aResult = DllCall("user32.dll", "int", "GetClassNameA", "hwnd", $h_hWnd, "str", "", "int", 256)
- If @error Then Return SetError(@error, @error, "")
- If IsArray($aResult) Then
- If StringUpper(StringMid($aResult[2], 1, StringLen($s_ClassName))) = StringUpper($s_ClassName) Then
- Return 1
- Else
- Return 0
- EndIf
- Else
- Return SetError(-1, -1, 0)
- EndIf
- EndFunc
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\Misc.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\Memory.au3>
- ; ----------------------------------------------------------------------------
- Global Const $MEM_MAP = "uint;uint;ptr"
- Global Const $MEM_MAP_HPROC = 1
- Global Const $MEM_MAP_ISIZE = 2
- Global Const $MEM_MAP_PMEM = 3
- Func _MemFree(ByRef $rMemMap)
- Local $hProcess
- Local $pMemory
- Local $bResult
- Local $MEM_RELEASE = 0x00008000
- $hProcess = DllStructGetData($rMemMap, $MEM_MAP_HPROC)
- $pMemory = DllStructGetData($rMemMap, $MEM_MAP_PMEM)
- Switch @OSVersion
- Case "WIN_ME", "WIN_98", "WIN_95"
- $bResult = _VirtualFree($pMemory, 0, $MEM_RELEASE)
- Case Else
- $bResult = _VirtualFreeEx($hProcess, $pMemory, 0, $MEM_RELEASE)
- EndSwitch
- _CloseHandle($hProcess)
- $rMemMap = 0
- Return $bResult
- EndFunc
- Func _CloseHandle($hObject)
- Local $aResult = DllCall("Kernel32.dll", "int", "CloseHandle", "int", $hObject)
- If @error Or Not IsArray($aResult) Then Return SetError(-1, -1, 0)
- Return $aResult[0]
- EndFunc
- Func _VirtualAlloc($pAddress, $iSize, $iAllocation, $iProtect)
- Local $aResult = DllCall("Kernel32.dll", "ptr", "VirtualAlloc", "ptr", $pAddress, "int", $iSize, "int", $iAllocation, "int", $iProtect)
- If @error Or Not IsArray($aResult) Then Return SetError(-1, -1, 0)
- Return $aResult[0]
- EndFunc
- Func _VirtualAllocEx($hProcess, $pAddress, $iSize, $iAllocation, $iProtect)
- Local $aResult = DllCall("Kernel32.dll", "ptr", "VirtualAllocEx", "int", $hProcess, "ptr", $pAddress, "int", $iSize, "int", $iAllocation, "int", $iProtect)
- If @error Or Not IsArray($aResult) Then Return SetError(-1, -1, 0)
- Return $aResult[0]
- EndFunc
- Func _VirtualFree($pAddress, $iSize, $iFreeType)
- Local $aResult = DllCall("Kernel32.dll", "ptr", "VirtualFree", "ptr", $pAddress, "int", $iSize, "int", $iFreeType)
- If @error Or Not IsArray($aResult) Then Return SetError(-1, -1, 0)
- Return $aResult[0]
- EndFunc
- Func _VirtualFreeEx($hProcess, $pAddress, $iSize, $iFreeType)
- Local $aResult = DllCall("Kernel32.dll", "ptr", "VirtualFreeEx", "hwnd", $hProcess, "ptr", $pAddress, "int", $iSize, "int", $iFreeType)
- If @error Or Not IsArray($aResult) Then Return SetError(-1, -1, 0)
- Return $aResult[0]
- EndFunc
- Func _GetWindowThreadProcessId($hWnd, ByRef $iProcessID)
- Local $rProcessID, $aResult
- $rProcessID = DllStructCreate("int")
- $aResult = DllCall("User32.dll", "int", "GetWindowThreadProcessId", "hwnd", $hWnd, "ptr", DllStructGetPtr($rProcessID))
- If @error Or Not IsArray($aResult) Then Return SetError(-1, -1, 0)
- $iProcessID = DllStructGetData($rProcessID, 1)
- Return $aResult[0]
- EndFunc
- Func _OpenProcess($iAccess, $bInherit, $iProcessID)
- Local $aResult = DllCall("Kernel32.Dll", "int", "OpenProcess", "int", $iAccess, "int", $bInherit, "int", $iProcessID)
- If @error Or Not IsArray($aResult) Then Return SetError(-1, -1, 0)
- Return $aResult[0]
- EndFunc
- Func _ReadProcessMemory($hProcess, $pBaseAddress, $pBuffer, $iSize, ByRef $iBytesRead)
- Local $rBytesRead = DllStructCreate("int")
- Local $aResult = DllCall("Kernel32.dll", "int", "ReadProcessMemory", "int", $hProcess, "int", $pBaseAddress, _
- "ptr", $pBuffer, "int", $iSize, "ptr", DllStructGetPtr($rBytesRead))
- If @error Or Not IsArray($aResult) Then Return SetError(-1, -1, 0)
- $iBytesRead = DllStructGetData($rBytesRead, 1)
- $rBytesRead = 0
- Return $aResult[0]
- EndFunc
- Func _WriteProcessMemory($hProcess, $pBaseAddress, $pBuffer, $iSize, ByRef $iBytesWritten)
- Local $rBytesWritten = DllStructCreate("int")
- Local $aResult = DllCall("Kernel32.dll", "int", "WriteProcessMemory", "int", $hProcess, "int", $pBaseAddress, _
- "ptr", $pBuffer, "int", $iSize, "int", DllStructGetPtr($rBytesWritten))
- If @error Or Not IsArray($aResult) Then Return SetError(-1, -1, 0)
- $iBytesWritten = DllStructGetData($rBytesWritten, 1)
- $rBytesWritten = 0
- Return $aResult[0]
- EndFunc
- Func _MemInit($hWnd, $iSize, ByRef $rMemMap, $pAddress = 0)
- Local $iAccess, $iAllocation
- Local $pMemory, $hProcess
- Local $iProcessID
- Local $PROCESS_VM_OPERATION = 0x00000008
- Local $PROCESS_VM_READ = 0x00000010
- Local $PROCESS_VM_WRITE = 0x00000020
- Local $MEM_RESERVE = 0x00002000
- Local $MEM_COMMIT = 0x00001000
- Local $MEM_SHARED = 0x08000000
- Local $PAGE_READWRITE = 0x00000004
- _GetWindowThreadProcessId($hWnd, $iProcessID)
- $iAccess = BitOR($PROCESS_VM_OPERATION, $PROCESS_VM_READ, $PROCESS_VM_WRITE)
- $hProcess = _OpenProcess($iAccess, False, $iProcessID)
- Switch @OSVersion
- Case "WIN_ME", "WIN_98", "WIN_95"
- $iAllocation = BitOR($MEM_RESERVE, $MEM_COMMIT, $MEM_SHARED)
- $pMemory = _VirtualAlloc($pAddress, $iSize, $iAllocation, $PAGE_READWRITE)
- Case Else
- $iAllocation = BitOR($MEM_RESERVE, $MEM_COMMIT)
- $pMemory = _VirtualAllocEx($hProcess, $pAddress, $iSize, $iAllocation, $PAGE_READWRITE)
- EndSwitch
- If @error Then Return SetError(-1, -1, 0)
- $rMemMap = DllStructCreate($MEM_MAP)
- DllStructSetData($rMemMap, $MEM_MAP_HPROC, $hProcess)
- DllStructSetData($rMemMap, $MEM_MAP_ISIZE, $iSize)
- DllStructSetData($rMemMap, $MEM_MAP_PMEM, $pMemory)
- Return $pMemory
- EndFunc
- Func _MemRead($rMemMap, $pSrce, $pDest, $iSize)
- Local $hProcess
- Local $iWritten
- $hProcess = DllStructGetData($rMemMap, $MEM_MAP_HPROC)
- Return _ReadProcessMemory($hProcess, $pSrce, $pDest, $iSize, $iWritten)
- EndFunc
- Func _MemWrite($rMemMap, $pSrce, $pDest = 0, $iSize = 0)
- Local $hProcess
- Local $iWritten
- If $pDest = 0 Then
- $pDest = DllStructGetData($rMemMap, $MEM_MAP_PMEM)
- EndIf
- If $iSize = 0 Then
- $iSize = DllStructGetData($rMemMap, $MEM_MAP_ISIZE)
- EndIf
- $hProcess = DllStructGetData($rMemMap, $MEM_MAP_HPROC)
- Return _WriteProcessMemory($hProcess, $pDest, $pSrce, $iSize, $iWritten)
- EndFunc
- Func _MultiByteToWideChar($s_Text, $i_CodePage = 0, $i_Flags = 1)
- Local $iBuffLen = StringLen($s_Text)
- Local $rUnicode = DllStructCreate("byte[" & ($iBuffLen * 2) & "]")
- Local $pUnicode = DllStructGetPtr($rUnicode)
- DllCall("Kernel32.dll", "int", "MultiByteToWideChar", "int", $i_CodePage, "int", $i_Flags, _
- "str", $s_Text, "int", $iBuffLen, "ptr", $pUnicode, "int", $iBuffLen * 2)
- If @error Then Return SetError(-1, -1, 0)
- Return DllStructGetData($rUnicode, 1)
- EndFunc
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\Memory.au3>
- ; ----------------------------------------------------------------------------
- Global Const $LVITEM = "int;int;int;int;int;ptr;int;int;int;int"
- Global Enum $LVI_MASK = 1, $LVI_IITEM, $LVI_ISUBITEM, $LVI_STATE, $LVI_STATEMASK, $LVI_PSZTEXT, _
- $LVI_CCHTEXTMAX, $LVI_IIMAGE, $LVI_LPARAM, $LVI_IINDENT
- Global $LVCOLUMN = "uint;int;int;ptr;int;int;int;int"
- Global Enum $LVC_MASK = 1, $LVC_FMT, $LVC_CX, $LVC_PSZTEXT, $LVC_CCHTEXTMAX, $LVC_ISUBITEM, $LVC_IIMAGE, $LVC_IORDER
- Func _GUICtrlListViewCopyItems($h_Source_listview, $h_Destination_listview, $i_DelFlag = 0)
- If Not _IsClassName ($h_Source_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, 0)
- If Not _IsClassName ($h_Destination_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, 0)
- Local $a_indices, $i, $s_item, $items
- $items = _GUICtrlListViewGetItemCount($h_Source_listview)
- If BitAND(_GUICtrlListViewGetExtendedListViewStyle($h_Source_listview), $LVS_EX_CHECKBOXES) == $LVS_EX_CHECKBOXES Then
- For $i = 0 To $items - 1
- If (_GUICtrlListViewGetCheckedState($h_Source_listview, $i)) Then
- If IsArray($a_indices) Then
- ReDim $a_indices[UBound($a_indices) + 1]
- Else
- Local $a_indices[2]
- EndIf
- $a_indices[0] = $a_indices[0] + 1
- $a_indices[UBound($a_indices) - 1] = $i
- EndIf
- Next
- If (IsArray($a_indices)) Then
- For $i = 1 To $a_indices[0]
- $s_item = _GUICtrlListViewGetItemText($h_Source_listview, $a_indices[$i])
- _GUICtrlListViewSetCheckState($h_Source_listview, $a_indices[$i], 0)
- _GUICtrlListViewInsertItem($h_Destination_listview, _GUICtrlListViewGetItemCount($h_Destination_listview), $s_item)
- Next
- If $i_DelFlag Then
- For $i = $a_indices[0] To 1 Step - 1
- _GUICtrlListViewSetItemSelState($h_Source_listview, $a_indices[$i])
- _GUICtrlListViewDeleteItem($h_Source_listview, $a_indices[$i])
- Next
- EndIf
- EndIf
- EndIf
- If (_GUICtrlListViewGetSelectedCount($h_Source_listview)) Then
- $a_indices = _GUICtrlListViewGetSelectedIndices($h_Source_listview, 1)
- For $i = 1 To $a_indices[0]
- $s_item = _GUICtrlListViewGetItemText($h_Source_listview, $a_indices[$i])
- _GUICtrlListViewInsertItem($h_Destination_listview, _GUICtrlListViewGetItemCount($h_Destination_listview), $s_item)
- Next
- _GUICtrlListViewSetItemSelState($h_Source_listview, -1, 0)
- If $i_DelFlag Then
- For $i = $a_indices[0] To 1 Step - 1
- _GUICtrlListViewSetItemSelState($h_Source_listview, $a_indices[$i])
- _GUICtrlListViewDeleteItem($h_Source_listview, $a_indices[$i])
- Next
- EndIf
- EndIf
- EndFunc
- Func _GUICtrlListViewDeleteAllItems($h_listview)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, False)
- Local $i_index, $control_ID
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_DELETEALLITEMS)
- Else
- For $i_index = _GUICtrlListViewGetItemCount($h_listview) - 1 To 0 Step - 1
- _GUICtrlListViewSetItemSelState($h_listview, $i_index, 1)
- $control_ID = GUICtrlRead($h_listview)
- If $control_ID Then GUICtrlDelete($control_ID)
- Next
- If _GUICtrlListViewGetItemCount($h_listview) == 0 Then
- Return 1
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_DELETEALLITEMS, 0, 0)
- EndIf
- EndIf
- EndFunc
- Func _GUICtrlListViewDeleteColumn($h_listview, $i_col)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, False)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_DELETECOLUMN, $i_col)
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_DELETECOLUMN, $i_col, 0)
- EndIf
- EndFunc
- Func _GUICtrlListViewDeleteItem($h_listview, $i_index)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, False)
- Local $control_ID, $ID_Check
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_DELETEITEM, $i_index)
- Else
- _GUICtrlListViewSetItemSelState($h_listview, -1, 0)
- _GUICtrlListViewSetItemSelState($h_listview, $i_index)
- $control_ID = GUICtrlRead($h_listview)
- If $control_ID Then
- GUICtrlDelete($control_ID)
- _GUICtrlListViewSetItemSelState($h_listview, $i_index)
- $ID_Check = GUICtrlRead($h_listview)
- _GUICtrlListViewSetItemSelState($h_listview, $i_index, 0)
- If $control_ID <> $ID_Check Then
- Return 1
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_DELETEITEM, $i_index, 0)
- EndIf
- Else
- If Not GUICtrlSendMsg($h_listview, $LVM_DELETEITEM, $i_index, 0) Then
- Return _SendMessage($h_listview, $LVM_DELETEITEM, $i_index)
- Else
- Return 1
- EndIf
- EndIf
- EndIf
- EndFunc
- Func _GUICtrlListViewDeleteItemsSelected($h_listview)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, 0)
- Local $i, $ItemCount
- $ItemCount = _GUICtrlListViewGetItemCount($h_listview)
- If (_GUICtrlListViewGetSelectedCount($h_listview) == $ItemCount) Then
- _GUICtrlListViewDeleteAllItems($h_listview)
- Else
- Local $items = _GUICtrlListViewGetSelectedIndices($h_listview, 1)
- If Not IsArray($items) Then Return SetError($LV_ERR, $LV_ERR, 0)
- _GUICtrlListViewSetItemSelState($h_listview, -1, 0)
- For $i = $items[0] To 1 Step - 1
- _GUICtrlListViewDeleteItem($h_listview, $items[$i])
- Next
- EndIf
- EndFunc
- Func _GUICtrlListViewEnsureVisible($h_listview, $i_index, $i_bool)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, False)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_ENSUREVISIBLE, $i_index, $i_bool)
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_ENSUREVISIBLE, $i_index, $i_bool)
- EndIf
- EndFunc
- Func _GUICtrlListViewFindItem($h_listview, $v_find, $i_Start = -1, $v_SearchType = 0x8, $v_direction = 0x28)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- Local $struct_String, $struct_LVFINDINFO, $iResult
- Local $i_Size, $struct_LVFINDINFO_pointer, $struct_MemMap, $Memory_pointer, $string_Memory_pointer, $sBuffer_pointer
- $struct_LVFINDINFO = DllStructCreate("uint;ptr;int;int[2];int")
- If @error Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- DllStructSetData($struct_LVFINDINFO, 1, $v_SearchType)
- If BitAND($v_SearchType, $LVFI_PARAM) = $LVFI_PARAM Then
- DllStructSetData($struct_LVFINDINFO, 3, $v_find)
- Else
- If StringLen($v_find) = 0 Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- $struct_String = DllStructCreate("char[" & StringLen($v_find) + 1 & "]")
- $sBuffer_pointer = DllStructGetPtr($struct_String)
- DllStructSetData($struct_String, 1, $v_find)
- EndIf
- DllStructSetData($struct_LVFINDINFO, 6, $v_direction)
- If IsHWnd($h_listview) Then
- $i_Size = DllStructGetSize($struct_LVFINDINFO)
- $struct_LVFINDINFO_pointer = DllStructGetPtr($struct_LVFINDINFO)
- If BitAND($v_SearchType, $LVFI_PARAM) = $LVFI_PARAM Then
- $Memory_pointer = _MemInit ($h_listview, $i_Size, $struct_MemMap)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, 0)
- EndIf
- _MemWrite ($struct_MemMap, $struct_LVFINDINFO_pointer)
- Else
- $Memory_pointer = _MemInit ($h_listview, $i_Size + StringLen($v_find) + 1, $struct_MemMap)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, 0)
- EndIf
- $string_Memory_pointer = $Memory_pointer + $i_Size
- DllStructSetData($struct_LVFINDINFO, 2, $string_Memory_pointer)
- _MemWrite ($struct_MemMap, $struct_LVFINDINFO_pointer)
- _MemWrite ($struct_MemMap, $sBuffer_pointer, $string_Memory_pointer, 4096)
- EndIf
- $iResult = _SendMessage($h_listview, $LVM_FINDITEM, $i_Start, $Memory_pointer)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, 0)
- EndIf
- _MemFree ($struct_MemMap)
- If @error Then Return SetError($LV_ERR, $LV_ERR, 0)
- Return $iResult
- Else
- If BitAND($v_SearchType, $LVFI_PARAM) <> $LVFI_PARAM Then
- DllStructSetData($struct_LVFINDINFO, 2, DllStructGetPtr($struct_String))
- EndIf
- Return GUICtrlSendMsg($h_listview, $LVM_FINDITEM, $i_Start, DllStructGetPtr($struct_LVFINDINFO))
- EndIf
- EndFunc
- Func _GUICtrlListViewGetBackColor($h_listview)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- Local $v_color
- If IsHWnd($h_listview) Then
- $v_color = _SendMessage($h_listview, $LVM_GETBKCOLOR)
- Else
- $v_color = GUICtrlSendMsg($h_listview, $LVM_GETBKCOLOR, 0, 0)
- EndIf
- Return _ReverseColorOrder($v_color)
- EndFunc
- Func _GUICtrlListViewGetCallBackMask($h_listview)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_GETCALLBACKMASK)
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_GETCALLBACKMASK, 0, 0)
- EndIf
- EndFunc
- Func _GUICtrlListViewGetCheckedState($h_listview, $i_index)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- Local $isChecked = 0, $ret
- If IsHWnd($h_listview) Then
- $ret = _SendMessage($h_listview, $LVM_GETITEMSTATE, $i_index, $LVIS_STATEIMAGEMASK)
- Else
- $ret = GUICtrlSendMsg($h_listview, $LVM_GETITEMSTATE, $i_index, $LVIS_STATEIMAGEMASK)
- EndIf
- If (Not $ret) Then
- $ret = _SendMessage($h_listview, $LVM_GETITEMSTATE, $i_index, $LVIS_STATEIMAGEMASK)
- If ($ret == -1) Then
- Return $LV_ERR
- Else
- If (BitAND($ret, 0x3000) == 0x3000) Then
- $isChecked = 0
- Else
- $isChecked = 1
- EndIf
- EndIf
- Else
- If (BitAND($ret, 0x2000) == 0x2000) Then $isChecked = 1
- EndIf
- Return $isChecked
- EndFunc
- Func _GUICtrlListViewGetColumnOrder($h_listview)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- Local $i_cols = _GUICtrlListViewGetSubItemsCount($h_listview)
- Local $i, $ret
- Local $struct = ""
- For $i = 1 To $i_cols
- $struct &= "int;"
- Next
- $struct = StringTrimRight($struct, 1)
- Local $column_struct = DllStructCreate($struct)
- If @error Then Return $LV_ERR
- If IsHWnd($h_listview) Then
- Local $struct_MemMap, $sBuffer_pointer
- $sBuffer_pointer = DllStructGetPtr($column_struct)
- Local $i_Size = DllStructGetSize($column_struct)
- Local $Memory_pointer = _MemInit ($h_listview, $i_Size, $struct_MemMap)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, 0)
- EndIf
- $ret = _SendMessage($h_listview, $LVM_GETCOLUMNORDERARRAY, $i_cols, $Memory_pointer)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, 0)
- EndIf
- _MemRead ($struct_MemMap, $Memory_pointer, $sBuffer_pointer, $i_Size)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, 0)
- EndIf
- _MemFree ($struct_MemMap)
- If @error Then Return SetError($LV_ERR, $LV_ERR, 0)
- Else
- $ret = GUICtrlSendMsg($h_listview, $LVM_GETCOLUMNORDERARRAY, $i_cols, DllStructGetPtr($column_struct))
- EndIf
- If (Not $ret) Then Return $LV_ERR
- Local $s_cols
- For $i = 1 To $i_cols
- $s_cols &= DllStructGetData($column_struct, $i) & "|"
- Next
- $s_cols = StringTrimRight($s_cols, 1)
- Return $s_cols
- EndFunc
- Func _GUICtrlListViewGetColumnWidth($h_listview, $i_col)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, 0)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_GETCOLUMNWIDTH, $i_col)
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_GETCOLUMNWIDTH, $i_col, 0)
- EndIf
- EndFunc
- Func _GUICtrlListViewGetCounterPage($h_listview)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_GETCOUNTPERPAGE)
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_GETCOUNTPERPAGE, 0, 0)
- EndIf
- EndFunc
- Func _GUICtrlListViewGetCurSel($h_listview)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- If _GUICtrlListViewGetSelectedCount($h_listview) > 0 Then
- Return Int(_GUICtrlListViewGetSelectedIndices($h_listview))
- Else
- Return $LV_ERR
- EndIf
- EndFunc
- Func _GUICtrlListViewGetExtendedListViewStyle($h_listview)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_GETEXTENDEDLISTVIEWSTYLE)
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0)
- EndIf
- EndFunc
- Func _GUICtrlListViewGetHeader($h_listview)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_GETHEADER)
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_GETHEADER, 0, 0)
- EndIf
- EndFunc
- Func _GUICtrlListViewGetHotCursor($h_listview)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_GETHOTCURSOR)
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_GETHOTCURSOR, 0, 0)
- EndIf
- EndFunc
- Func _GUICtrlListViewGetHotItem($h_listview)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_GETHOTITEM)
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_GETHOTITEM, 0, 0)
- EndIf
- EndFunc
- Func _GUICtrlListViewGetHoverTime($h_listview)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_GETHOVERTIME)
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_GETHOVERTIME, 0, 0)
- EndIf
- EndFunc
- Func _GUICtrlListViewGetItemCount($h_listview)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_GETITEMCOUNT)
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_GETITEMCOUNT, 0, 0)
- EndIf
- EndFunc
- Func _GUICtrlListViewGetItemText($h_listview, $i_Item = -1, $i_SubItem = -1)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- Local $sBuffer_pointer
- Local $LVITEM_pointer
- Local $Memory_pointer, $struct_MemMap
- Local $i_Size, $string_Memory_pointer
- Local $struct_LVITEM, $struct_String
- $struct_LVITEM = DllStructCreate($LVITEM)
- If @error Then Return SetError($LV_ERR, $LV_ERR, "")
- $struct_String = DllStructCreate("char[4096]")
- If @error Then Return SetError($LV_ERR, $LV_ERR, "")
- If $i_Item = -1 Then $i_Item = Int(_GUICtrlListViewGetSelectedIndices($h_listview))
- If $i_Item = -1 Then Return SetError($LV_ERR, $LV_ERR, "")
- DllStructSetData($struct_LVITEM, $LVI_MASK, $LVIF_TEXT)
- DllStructSetData($struct_LVITEM, $LVI_CCHTEXTMAX, 4096)
- Local $x_indice, $count, $str = ""
- $count = _GUICtrlListViewGetSubItemsCount($h_listview)
- If Not $count Then $count = 1
- DllStructSetData($struct_LVITEM, $LVI_IITEM, $i_Item)
- If ($i_SubItem == -1) Then
- For $x_indice = 0 To $count - 1 Step 1
- If IsHWnd($h_listview) Then
- $sBuffer_pointer = DllStructGetPtr($struct_String)
- $LVITEM_pointer = DllStructGetPtr($struct_LVITEM)
- $i_Size = DllStructGetSize($struct_LVITEM)
- $Memory_pointer = _MemInit ($h_listview, $i_Size + 4096, $struct_MemMap)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, "")
- EndIf
- $string_Memory_pointer = $Memory_pointer + 4096
- DllStructSetData($struct_LVITEM, $LVI_ISUBITEM, $x_indice)
- DllStructSetData($struct_LVITEM, $LVI_PSZTEXT, $string_Memory_pointer)
- _MemWrite ($struct_MemMap, $LVITEM_pointer)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, "")
- EndIf
- _SendMessage($h_listview, $LVM_GETITEMA, 0, $Memory_pointer)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, "")
- EndIf
- _MemRead ($struct_MemMap, $string_Memory_pointer, $sBuffer_pointer, 4096)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, "")
- EndIf
- _MemFree ($struct_MemMap)
- If @error Then Return SetError($LV_ERR, $LV_ERR, "")
- Else
- DllStructSetData($struct_LVITEM, $LVI_PSZTEXT, DllStructGetPtr($struct_String))
- DllStructSetData($struct_LVITEM, $LVI_ISUBITEM, $x_indice)
- If Not GUICtrlSendMsg($h_listview, $LVM_GETITEMA, 0, DllStructGetPtr($struct_LVITEM)) Then
- SetError($LV_ERR)
- EndIf
- EndIf
- If Not @error Then
- If $x_indice Then
- $str = $str & "|" & DllStructGetData($struct_String, 1)
- Else
- $str = DllStructGetData($struct_String, 1)
- EndIf
- Else
- If StringLen($str) Then
- $str = $str & "|"
- EndIf
- EndIf
- Next
- Return $str
- ElseIf ($i_SubItem < $count) Then
- If IsHWnd($h_listview) Then
- $sBuffer_pointer = DllStructGetPtr($struct_String)
- $LVITEM_pointer = DllStructGetPtr($struct_LVITEM)
- $i_Size = DllStructGetSize($struct_LVITEM)
- $Memory_pointer = _MemInit ($h_listview, $i_Size + 4096, $struct_MemMap)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, "")
- EndIf
- $string_Memory_pointer = $Memory_pointer + 4096
- DllStructSetData($struct_LVITEM, $LVI_ISUBITEM, $i_SubItem)
- DllStructSetData($struct_LVITEM, $LVI_PSZTEXT, $string_Memory_pointer)
- _MemWrite ($struct_MemMap, $LVITEM_pointer)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, "")
- EndIf
- _SendMessage($h_listview, $LVM_GETITEMA, 0, $Memory_pointer)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, "")
- EndIf
- _MemRead ($struct_MemMap, $string_Memory_pointer, $sBuffer_pointer, 4096)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, "")
- EndIf
- _MemFree ($struct_MemMap)
- If @error Then Return SetError($LV_ERR, $LV_ERR, "")
- Else
- DllStructSetData($struct_LVITEM, $LVI_PSZTEXT, DllStructGetPtr($struct_String))
- DllStructSetData($struct_LVITEM, $LVI_ISUBITEM, $i_SubItem)
- If Not GUICtrlSendMsg($h_listview, $LVM_GETITEMA, 0, DllStructGetPtr($struct_LVITEM)) Then Return SetError($LV_ERR, $LV_ERR, "")
- EndIf
- Return DllStructGetData($struct_String, 1)
- Else
- Return SetError($LV_ERR, $LV_ERR, "")
- EndIf
- EndFunc
- Func _GUICtrlListViewGetItemTextArray($h_listview, $i_Item = -1)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- Local $v_ret = _GUICtrlListViewGetItemText($h_listview, $i_Item)
- If @error Or $v_ret = "" Then Return SetError($LV_ERR, $LV_ERR, "")
- Return StringSplit($v_ret, "|")
- EndFunc
- Func _GUICtrlListViewGetNextItem($h_GUI, $h_listview, $i_index = -1, $i_direction = 0x0)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- Local $h_lv
- If IsHWnd($h_listview) Then
- $h_lv = $h_listview
- Else
- $h_lv = ControlGetHandle($h_GUI, "", $h_listview)
- EndIf
- If ($i_direction == $LVNI_ALL Or $i_direction == $LVNI_ABOVE Or _
- $i_direction == $LVNI_BELOW Or $i_direction == $LVNI_TOLEFT Or _
- $i_direction == $LVNI_TORIGHT) Then
- Return _SendMessage($h_lv, $LVM_GETNEXTITEM, $i_index, $i_direction)
- Else
- Return $LV_ERR
- EndIf
- EndFunc
- Func _GUICtrlListViewGetSelectedCount($h_listview)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_GETSELECTEDCOUNT)
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_GETSELECTEDCOUNT, 0, 0)
- EndIf
- EndFunc
- Func _GUICtrlListViewGetSelectedIndices($h_listview, $i_ReturnType = 0)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- Local $v_indices
- Local $x_indice, $v_ret
- For $x_indice = 0 To _GUICtrlListViewGetItemCount($h_listview)
- If IsHWnd($h_listview) Then
- $v_ret = _SendMessage($h_listview, $LVM_GETITEMSTATE, $x_indice, $LVIS_SELECTED)
- If $v_ret Then
- If (Not $i_ReturnType) Then
- If StringLen($v_indices) Then
- $v_indices = $v_indices & "|" & $x_indice
- Else
- $v_indices = $x_indice
- EndIf
- Else
- If Not IsArray($v_indices) Then
- Dim $v_indices[2]
- Else
- ReDim $v_indices[UBound($v_indices) + 1]
- EndIf
- $v_indices[0] = UBound($v_indices) - 1
- $v_indices[UBound($v_indices) - 1] = $x_indice
- EndIf
- EndIf
- Else
- $v_ret = GUICtrlSendMsg($h_listview, $LVM_GETITEMSTATE, $x_indice, $LVIS_SELECTED)
- If $v_ret Then
- If (Not $i_ReturnType) Then
- If StringLen($v_indices) Then
- $v_indices = $v_indices & "|" & $x_indice
- Else
- $v_indices = $x_indice
- EndIf
- Else
- If Not IsArray($v_indices) Then
- Dim $v_indices[2]
- Else
- ReDim $v_indices[UBound($v_indices) + 1]
- EndIf
- $v_indices[0] = UBound($v_indices) - 1
- $v_indices[UBound($v_indices) - 1] = $x_indice
- EndIf
- EndIf
- EndIf
- Next
- If (StringLen($v_indices) > 0 Or IsArray($v_indices)) Then
- Return $v_indices
- Else
- Return $LV_ERR
- EndIf
- EndFunc
- Func _GUICtrlListViewGetSubItemsCount($h_listview)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- Return _SendMessage(_GUICtrlListViewGetHeader($h_listview), 0x1200, 0, 0)
- EndFunc
- Func _GUICtrlListViewGetTopIndex($h_listview)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_GETTOPINDEX)
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_GETTOPINDEX, 0, 0)
- EndIf
- EndFunc
- Func _GUICtrlListViewGetUnicodeFormat($h_listview)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, 0)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_GETUNICODEFORMAT)
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_GETUNICODEFORMAT, 0, 0)
- EndIf
- EndFunc
- Func _GUICtrlListViewGetView($h_listview)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_GETVIEW)
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_GETVIEW, 0, 0)
- EndIf
- EndFunc
- Func _GUICtrlListViewHideColumn($h_listview, $i_col)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, False)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_SETCOLUMNWIDTH, $i_col)
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_SETCOLUMNWIDTH, $i_col, 0)
- EndIf
- EndFunc
- Func _GUICtrlListViewInsertColumn($h_listview, $i_col, $s_text, $i_justification = 0, $i_width = 25)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, False)
- Local $struct_LVCOLUMN, $struct_String, $ret
- $struct_LVCOLUMN = DllStructCreate($LVCOLUMN)
- If @error Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- $struct_String = DllStructCreate("char[" & StringLen($s_text) + 1 & "]")
- If @error Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- DllStructSetData($struct_String, 1, $s_text)
- DllStructSetData($struct_LVCOLUMN, $LVC_MASK, BitOR($LVCF_WIDTH, $LVCF_FMT, $LVCF_TEXT))
- If ($i_justification == 1) Then
- DllStructSetData($struct_LVCOLUMN, $LVC_FMT, $LVCFMT_RIGHT)
- ElseIf ($i_justification == 2) Then
- DllStructSetData($struct_LVCOLUMN, $LVC_FMT, $LVCFMT_CENTER)
- Else
- DllStructSetData($struct_LVCOLUMN, $LVC_FMT, $LVCFMT_LEFT)
- EndIf
- DllStructSetData($struct_LVCOLUMN, $LVC_CX, $i_width)
- If IsHWnd($h_listview) Then
- Local $sBuffer_pointer = DllStructGetPtr($struct_String)
- Local $column_struct_pointer = DllStructGetPtr($struct_LVCOLUMN)
- Local $i_Size = DllStructGetSize($struct_LVCOLUMN)
- Local $struct_MemMap
- Local $Memory_pointer = _MemInit ($h_listview, $i_Size + StringLen($s_text) + 1, $struct_MemMap)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- Local $string_Memory_pointer = $Memory_pointer + $i_Size
- DllStructSetData($struct_LVCOLUMN, $LVC_PSZTEXT, $string_Memory_pointer)
- _MemWrite ($struct_MemMap, $column_struct_pointer)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- _MemWrite ($struct_MemMap, $sBuffer_pointer, $string_Memory_pointer, StringLen($s_text) + 1)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- $ret = _SendMessage($h_listview, $LVM_INSERTCOLUMNA, $i_col, $Memory_pointer)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- _MemFree ($struct_MemMap)
- If @error Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- Return $ret
- Else
- DllStructSetData($struct_LVCOLUMN, $LVC_PSZTEXT, DllStructGetPtr($struct_String))
- $ret = GUICtrlSendMsg($h_listview, $LVM_INSERTCOLUMNA, $i_col, DllStructGetPtr($struct_LVCOLUMN))
- EndIf
- Return $ret
- EndFunc
- Func _GUICtrlListViewInsertItem($h_listview, $i_index, $s_text)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- Local $struct_LVITEM, $struct_String, $ret, $a_text
- $struct_LVITEM = DllStructCreate($LVITEM)
- If @error Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- $struct_String = DllStructCreate("char[" & StringLen($s_text) + 1 & "]")
- If @error Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- $a_text = StringSplit($s_text, "|")
- DllStructSetData($struct_String, 1, $a_text[1])
- If $i_index = -1 Then $i_index = _GUICtrlListViewGetItemCount($h_listview)
- DllStructSetData($struct_LVITEM, $LVI_MASK, $LVIF_TEXT)
- DllStructSetData($struct_LVITEM, $LVI_IITEM, $i_index)
- DllStructSetData($struct_LVITEM, $LVI_CCHTEXTMAX, StringLen($s_text) + 1)
- If IsHWnd($h_listview) Then
- Local $sBuffer_pointer = DllStructGetPtr($struct_String)
- Local $LVITEM_pointer = DllStructGetPtr($struct_LVITEM)
- Local $i_Size = DllStructGetSize($struct_LVITEM)
- Local $struct_MemMap
- Local $Memory_pointer = _MemInit ($h_listview, $i_Size + StringLen($s_text) + 1, $struct_MemMap)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- Local $string_Memory_pointer = $Memory_pointer + $i_Size
- DllStructSetData($struct_LVITEM, $LVI_PSZTEXT, $string_Memory_pointer)
- _MemWrite ($struct_MemMap, $LVITEM_pointer)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- _MemWrite ($struct_MemMap, $sBuffer_pointer, $string_Memory_pointer, StringLen($s_text) + 1)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- $ret = _SendMessage($h_listview, $LVM_INSERTITEMA, 0, $Memory_pointer)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- _MemFree ($struct_MemMap)
- If @error Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- Else
- DllStructSetData($struct_LVITEM, $LVI_PSZTEXT, DllStructGetPtr($struct_String))
- $ret = GUICtrlSendMsg($h_listview, $LVM_INSERTITEMA, 0, DllStructGetPtr($struct_LVITEM))
- EndIf
- Local $i
- For $i = 2 To $a_text[0]
- _GUICtrlListViewSetItemText($h_listview, $i_index, $i - 1, $a_text[$i])
- Next
- Return $ret
- EndFunc
- Func _GUICtrlListViewJustifyColumn($h_listview, $i_col, $i_justification = 0)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, False)
- Local $struct_LVCOLUMN, $ret
- $struct_LVCOLUMN = DllStructCreate($LVCOLUMN)
- If @error Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- DllStructSetData($struct_LVCOLUMN, $LVC_MASK, $LVCF_FMT)
- If ($i_justification == 1) Then
- DllStructSetData($struct_LVCOLUMN, $LVC_FMT, $LVCFMT_RIGHT)
- ElseIf ($i_justification == 2) Then
- DllStructSetData($struct_LVCOLUMN, $LVC_FMT, $LVCFMT_CENTER)
- Else
- DllStructSetData($struct_LVCOLUMN, $LVC_FMT, $LVCFMT_LEFT)
- EndIf
- If IsHWnd($h_listview) Then
- Local $column_struct_pointer = DllStructGetPtr($struct_LVCOLUMN)
- Local $i_Size = DllStructGetSize($struct_LVCOLUMN)
- Local $struct_MemMap
- Local $Memory_pointer = _MemInit ($h_listview, $i_Size, $struct_MemMap)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- _MemWrite ($struct_MemMap, $column_struct_pointer)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- $ret = _SendMessage($h_listview, $LVM_SETCOLUMNA, $i_col, $Memory_pointer)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- _MemFree ($struct_MemMap)
- If @error Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- Else
- $ret = GUICtrlSendMsg($h_listview, $LVM_SETCOLUMNA, $i_col, DllStructGetPtr($struct_LVCOLUMN))
- EndIf
- Return $ret
- EndFunc
- Func _GUICtrlListViewScroll($h_listview, $i_dx, $i_dy)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, False)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_SCROLL, $i_dx, $i_dy)
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_SCROLL, $i_dx, $i_dy)
- EndIf
- EndFunc
- Func _GUICtrlListViewSetCheckState($h_listview, $i_index, $i_check = 1)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, False)
- Local $ret
- Local $struct_LVITEM = DllStructCreate($LVITEM)
- If @error Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- DllStructSetData($struct_LVITEM, $LVI_MASK, $LVIF_STATE)
- DllStructSetData($struct_LVITEM, $LVI_IITEM, $i_index)
- If ($i_check) Then
- DllStructSetData($struct_LVITEM, $LVI_STATE, 0x2000)
- Else
- DllStructSetData($struct_LVITEM, $LVI_STATE, 0x1000)
- EndIf
- DllStructSetData($struct_LVITEM, $LVI_STATEMASK, $LVIS_STATEIMAGEMASK)
- If IsHWnd($h_listview) Then
- Local $LVITEM_pointer = DllStructGetPtr($struct_LVITEM)
- Local $i_Size = DllStructGetSize($struct_LVITEM)
- Local $struct_MemMap
- Local $Memory_pointer = _MemInit ($h_listview, $i_Size + 4096, $struct_MemMap)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- _MemWrite ($struct_MemMap, $LVITEM_pointer)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- $ret = _SendMessage($h_listview, $LVM_SETITEMSTATE, $i_index, $Memory_pointer)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- _MemFree ($struct_MemMap)
- If @error Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- Else
- $ret = GUICtrlSendMsg($h_listview, $LVM_SETITEMSTATE, $i_index, DllStructGetPtr($struct_LVITEM))
- EndIf
- Return $ret
- EndFunc
- Func _GUICtrlListViewSetColumnHeaderText($h_listview, $i_col, $s_text)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, False)
- Local $struct_LVCOLUMN, $ret, $struct_String
- $struct_String = DllStructCreate("char[" & StringLen($s_text) + 1 & "]")
- If @error Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- DllStructSetData($struct_String, 1, $s_text)
- $struct_LVCOLUMN = DllStructCreate($LVCOLUMN)
- If @error Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- DllStructSetData($struct_LVCOLUMN, $LVC_MASK, $LVCF_TEXT)
- If IsHWnd($h_listview) Then
- Local $sBuffer_pointer = DllStructGetPtr($struct_String)
- Local $column_struct_pointer = DllStructGetPtr($struct_LVCOLUMN)
- Local $i_Size = DllStructGetSize($struct_LVCOLUMN)
- Local $struct_MemMap
- Local $Memory_pointer = _MemInit ($h_listview, $i_Size + StringLen($s_text) + 1, $struct_MemMap)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- Local $string_Memory_pointer = $Memory_pointer + $i_Size
- DllStructSetData($struct_LVCOLUMN, $LVC_PSZTEXT, $string_Memory_pointer)
- _MemWrite ($struct_MemMap, $column_struct_pointer)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- _MemWrite ($struct_MemMap, $sBuffer_pointer, $string_Memory_pointer, StringLen($s_text) + 1)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- $ret = _SendMessage($h_listview, $LVM_SETCOLUMNA, $i_col, $Memory_pointer)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- _MemFree ($struct_MemMap)
- If @error Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- Else
- DllStructSetData($struct_LVCOLUMN, $LVC_PSZTEXT, DllStructGetPtr($struct_String))
- $ret = GUICtrlSendMsg($h_listview, $LVM_SETCOLUMNA, $i_col, DllStructGetPtr($struct_LVCOLUMN))
- EndIf
- Return $ret
- EndFunc
- Func _GUICtrlListViewSetColumnOrder($h_listview, $s_order)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- Local $i, $ret
- Local $struct = ""
- Local $a_order = StringSplit($s_order, "|")
- If @error Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- For $i = 1 To $a_order[0]
- $struct &= "int;"
- Next
- $struct = StringTrimRight($struct, 1)
- Local $struct_LVCOLUMN = DllStructCreate($struct)
- For $i = 1 To $a_order[0]
- DllStructSetData($struct_LVCOLUMN, $i, $a_order[$i])
- Next
- If IsHWnd($h_listview) Then
- Local $sBuffer_pointer = DllStructGetPtr($struct_LVCOLUMN)
- Local $i_Size = DllStructGetSize($struct_LVCOLUMN)
- Local $struct_MemMap
- Local $Memory_pointer = _MemInit ($h_listview, $i_Size, $struct_MemMap)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- _MemWrite ($struct_MemMap, $sBuffer_pointer)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- $ret = _SendMessage($h_listview, $LVM_SETCOLUMNORDERARRAY, $a_order[0], $Memory_pointer)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- _MemFree ($struct_MemMap)
- If @error Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- Else
- $ret = GUICtrlSendMsg($h_listview, $LVM_SETCOLUMNORDERARRAY, $a_order[0], DllStructGetPtr($struct_LVCOLUMN))
- EndIf
- If (Not $ret) Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- Return $ret
- EndFunc
- Func _GUICtrlListViewSetColumnWidth($h_listview, $i_col, $i_width)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, False)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_SETCOLUMNWIDTH, $i_col, $i_width)
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_SETCOLUMNWIDTH, $i_col, $i_width)
- EndIf
- EndFunc
- Func _GUICtrlListViewSetHotItem($h_listview, $i_index)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_SETHOTITEM, $i_index)
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_SETHOTITEM, $i_index, 0)
- EndIf
- EndFunc
- Func _GUICtrlListViewSetHoverTime($h_listview, $i_time)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_SETHOVERTIME, 0, $i_time)
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_SETHOVERTIME, 0, $i_time)
- EndIf
- EndFunc
- Func _GUICtrlListViewSetItemCount($h_listview, $i_items)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, 0)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_SETITEMCOUNT, $i_items, BitOR($LVSICF_NOINVALIDATEALL, $LVSICF_NOSCROLL))
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_SETITEMCOUNT, $i_items, BitOR($LVSICF_NOINVALIDATEALL, $LVSICF_NOSCROLL))
- EndIf
- EndFunc
- Func _GUICtrlListViewSetItemSelState($h_listview, $i_index, $i_selected = 1, $i_focused = 0)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- Local $ret
- Local $struct_LVITEM = DllStructCreate($LVITEM)
- If @error Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- If ($i_selected == 1) Then
- $i_selected = $LVNI_SELECTED
- Else
- $i_selected = 0
- EndIf
- If ($i_focused == 1) Then
- $i_focused = $LVNI_FOCUSED
- Else
- $i_focused = 0
- EndIf
- DllStructSetData($struct_LVITEM, $LVI_MASK, $LVIF_STATE)
- DllStructSetData($struct_LVITEM, $LVI_IITEM, $i_index)
- DllStructSetData($struct_LVITEM, $LVI_STATE, BitOR($i_selected, $i_focused))
- DllStructSetData($struct_LVITEM, $LVI_STATEMASK, BitOR($LVIS_SELECTED, $i_focused))
- If IsHWnd($h_listview) Then
- Local $sBuffer_pointer = DllStructGetPtr($struct_LVITEM)
- Local $i_Size = DllStructGetSize($struct_LVITEM)
- Local $struct_MemMap
- Local $Memory_pointer = _MemInit ($h_listview, $i_Size, $struct_MemMap)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- _MemWrite ($struct_MemMap, $sBuffer_pointer)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- $ret = _SendMessage($h_listview, $LVM_SETITEMSTATE, $i_index, $Memory_pointer)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- _MemFree ($struct_MemMap)
- If @error Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- Else
- $ret = GUICtrlSendMsg($h_listview, $LVM_SETITEMSTATE, $i_index, DllStructGetPtr($struct_LVITEM))
- EndIf
- Return $ret
- EndFunc
- Func _GUICtrlListViewSetItemText($h_listview, $i_index, $i_SubItem, $s_text)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- Local $ret
- Local $struct_LVITEM = DllStructCreate($LVITEM)
- If @error Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- Local $struct_String = DllStructCreate("char[" & StringLen($s_text) + 1 & "]")
- If @error Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- DllStructSetData($struct_String, 1, $s_text)
- DllStructSetData($struct_LVITEM, $LVI_MASK, $LVIF_TEXT)
- DllStructSetData($struct_LVITEM, $LVI_IITEM, $i_index)
- DllStructSetData($struct_LVITEM, $LVI_ISUBITEM, $i_SubItem)
- If IsHWnd($h_listview) Then
- Local $sBuffer_pointer = DllStructGetPtr($struct_String)
- Local $LVITEM_pointer = DllStructGetPtr($struct_LVITEM)
- Local $i_Size = DllStructGetSize($struct_LVITEM)
- Local $struct_MemMap
- Local $Memory_pointer = _MemInit ($h_listview, $i_Size + StringLen($s_text) + 1, $struct_MemMap)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- Local $string_Memory_pointer = $Memory_pointer + $i_Size
- DllStructSetData($struct_LVITEM, $LVI_PSZTEXT, $string_Memory_pointer)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- _MemWrite ($struct_MemMap, $LVITEM_pointer)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- _MemWrite ($struct_MemMap, $sBuffer_pointer, $string_Memory_pointer, StringLen($s_text) + 1)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- $ret = _SendMessage($h_listview, $LVM_SETITEMTEXTA, 0, $Memory_pointer)
- If @error Then
- _MemFree ($struct_MemMap)
- Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- EndIf
- _MemFree ($struct_MemMap)
- If @error Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- Else
- DllStructSetData($struct_LVITEM, $LVI_PSZTEXT, DllStructGetPtr($struct_String))
- $ret = GUICtrlSendMsg($h_listview, $LVM_SETITEMTEXTA, $i_index, DllStructGetPtr($struct_LVITEM))
- EndIf
- Return $ret
- EndFunc
- Func _GUICtrlListViewSetSelectedColumn($h_listview, $i_col)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, False)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_SETSELECTEDCOLUMN, $i_col)
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_SETSELECTEDCOLUMN, $i_col, 0)
- EndIf
- EndFunc
- Func _GUICtrlListViewSort($h_listview, ByRef $v_descending, $i_sortcol)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, 0)
- Local $X, $Y, $Z, $b_desc, $columns, $items, $v_item, $temp_item
- If _GUICtrlListViewGetItemCount($h_listview) Then
- If (IsArray($v_descending)) Then
- $b_desc = $v_descending[$i_sortcol]
- Else
- $b_desc = $v_descending
- EndIf
- $columns = _GUICtrlListViewGetSubItemsCount($h_listview)
- $items = _GUICtrlListViewGetItemCount($h_listview)
- For $X = 1 To $columns
- $temp_item = $temp_item & " |"
- Next
- $temp_item = StringTrimRight($temp_item, 1)
- Local $a_lv[$items][$columns + 1], $i_selected
- $i_selected = StringSplit(_GUICtrlListViewGetSelectedIndices($h_listview), "|")
- For $X = 0 To UBound($a_lv) - 1 Step 1
- For $Y = 0 To UBound($a_lv, 2) - 2 Step 1
- $v_item = StringStripWS(_GUICtrlListViewGetItemText($h_listview, $X, $Y), 2)
- If (StringIsFloat($v_item) Or StringIsInt($v_item)) Then
- $a_lv[$X][$Y] = Number($v_item)
- Else
- $a_lv[$X][$Y] = $v_item
- EndIf
- Next
- $a_lv[$X][$Y] = $X
- Next
- _ArraySort($a_lv, $b_desc, 0, 0, $columns + 1, $i_sortcol)
- _GUICtrlListViewSetItemSelState($h_listview, -1, 0)
- For $X = 0 To UBound($a_lv) - 1 Step 1
- For $Y = 0 To UBound($a_lv, 2) - 2 Step 1
- _GUICtrlListViewSetItemText($h_listview, $X, $Y, $a_lv[$X][$Y])
- Next
- For $Z = 1 To $i_selected[0]
- If $a_lv[$X][UBound($a_lv, 2) - 1] = $i_selected[$Z]Then
- _GUICtrlListViewSetItemSelState($h_listview, $X, 1, 1)
- ExitLoop
- EndIf
- Next
- Next
- If (IsArray($v_descending)) Then
- $v_descending[$i_sortcol] = Not $b_desc
- Else
- $v_descending = Not $b_desc
- EndIf
- EndIf
- EndFunc
- Func _ReverseColorOrder($v_color)
- Local $tc = Hex(String($v_color), 6)
- Return '0x' & StringMid($tc, 5, 2) & StringMid($tc, 3, 2) & StringMid($tc, 1, 2)
- EndFunc
- Func _GUICtrlListViewArrange($h_listview, $i_arrange)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, False)
- If $i_arrange <> $LVA_ALIGNLEFT And $i_arrange <> $LVA_ALIGNTOP And _
- $i_arrange <> $LVA_DEFAULT And $i_arrange <> $LVA_SNAPTOGRID Then Return SetError(-1, -1, 0)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_ARRANGE, $i_arrange)
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_ARRANGE, $i_arrange, 0)
- EndIf
- EndFunc
- Func _GUICtrlListViewSetIconSpacing($h_listview, $i_cx, $i_cy)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, $LV_ERR)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_SETICONSPACING, 0, BitOR(BitShift($i_cy, -16), BitAND($i_cx, 0xFFFF)))
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_SETICONSPACING, 0, BitOR(BitShift($i_cy, -16), BitAND($i_cx, 0xFFFF)))
- EndIf
- EndFunc
- Func _GUICtrlListViewSetItemPosition($h_listview, $i_index, $i_x, $i_y)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, False)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_SETITEMPOSITION, $i_index, BitOR(BitShift($i_y, -16), BitAND($i_x, 0xFFFF)))
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_SETITEMPOSITION, $i_index, BitOR(BitShift($i_y, -16), BitAND($i_x, 0xFFFF)))
- EndIf
- EndFunc
- Func _GUICtrlListViewSetView($h_listview, $i_View)
- If Not _IsClassName ($h_listview, "SysListView32") Then Return SetError($LV_ERR, $LV_ERR, 0)
- If $i_View <> $LV_VIEW_DETAILS And $i_View <> $LV_VIEW_ICON And $i_View <> $LV_VIEW_LIST And _
- $i_View <> $LV_VIEW_SMALLICON And $i_View <> $LV_VIEW_TILE Then Return SetError($LV_ERR, $LV_ERR, 0)
- If IsHWnd($h_listview) Then
- Return _SendMessage($h_listview, $LVM_SETVIEW, $i_View)
- Else
- Return GUICtrlSendMsg($h_listview, $LVM_SETVIEW, $i_View, 0)
- EndIf
- EndFunc
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\GuiListView.au3>
- ; ----------------------------------------------------------------------------
- Func _ArrayAdd(ByRef $avArray, $sValue)
- If IsArray($avArray) Then
- ReDim $avArray[UBound($avArray) + 1]
- $avArray[UBound($avArray) - 1] = $sValue
- SetError(0)
- Return 1
- Else
- SetError(1)
- Return 0
- EndIf
- EndFunc
- Func _ArrayBinarySearch(ByRef $avArray, $sKey, $i_Base = 0)
- Local $iLwrLimit = $i_Base
- Local $iUprLimit
- Local $iMidElement
- If (Not IsArray($avArray)) Then
- SetError(1)
- Return ""
- EndIf
- $iUprLimit = UBound($avArray) - 1
- $iMidElement = Int(($iUprLimit + $iLwrLimit) / 2)
- If $avArray[$iLwrLimit] > $sKey Or $avArray[$iUprLimit] < $sKey Then
- SetError(2)
- Return ""
- EndIf
- While $iLwrLimit <= $iMidElement And $sKey <> $avArray[$iMidElement]
- If $sKey < $avArray[$iMidElement] Then
- $iUprLimit = $iMidElement - 1
- Else
- $iLwrLimit = $iMidElement + 1
- EndIf
- $iMidElement = Int(($iUprLimit + $iLwrLimit) / 2)
- WEnd
- If $iLwrLimit > $iUprLimit Then
- SetError(3)
- Return ""
- Else
- SetError(0)
- Return $iMidElement
- EndIf
- EndFunc
- Func _ArrayCreate($v_0, $v_1 = 0, $v_2 = 0, $v_3 = 0, $v_4 = 0, $v_5 = 0, $v_6 = 0, $v_7 = 0, $v_8 = 0, $v_9 = 0, $v_10 = 0, $v_11 = 0, $v_12 = 0, $v_13 = 0, $v_14 = 0, $v_15 = 0, $v_16 = 0, $v_17 = 0, $v_18 = 0, $v_19 = 0, $v_20 = 0)
- Local $av_Array[21] = [$v_0, $v_1, $v_2, $v_3, $v_4, $v_5, $v_6, $v_7, $v_8, $v_9, $v_10, $v_11, $v_12, $v_13, $v_14, $v_15, $v_16, $v_17, $v_18, $v_19, $v_20]
- ReDim $av_Array[@NumParams]
- Return $av_Array
- EndFunc
- Func _ArrayDelete(ByRef $avArray, $iElement)
- Local $iCntr = 0, $iUpper = 0
- If (Not IsArray($avArray)) Then
- SetError(1)
- Return ""
- EndIf
- $iUpper = UBound($avArray)
- If $iUpper = 1 Then
- SetError(2)
- Return ""
- EndIf
- Local $avNewArray[$iUpper - 1]
- If $iElement < 0 Then
- $iElement = 0
- EndIf
- If $iElement > ($iUpper - 1) Then
- $iElement = ($iUpper - 1)
- EndIf
- If $iElement > 0 Then
- For $iCntr = 0 To $iElement - 1
- $avNewArray[$iCntr] = $avArray[$iCntr]
- Next
- EndIf
- If $iElement < ($iUpper - 1) Then
- For $iCntr = ($iElement + 1) To ($iUpper - 1)
- $avNewArray[$iCntr - 1] = $avArray[$iCntr]
- Next
- EndIf
- $avArray = $avNewArray
- SetError(0)
- Return 1
- EndFunc
- Func _ArrayDisplay($ar_2DArray, $sTitle = "ListView array 1D and 2D Display", $i_ShowOver4000 = 1, $i_Transpose = 0, $GUIDataSeparatorChar = "|", $GUIDataReplace = "~")
- Local $searchlistView, $hndButton_Close, $sTempHeader = 'Row', $i_Pos, $size, $ar_ExcelValueTrans[1][1], $s_NotDoneLine, $ret
- Local $ar_TempSingle[1], $msg, $hndButton_Array1Box_TextSelect, $searchGUI, $ar_2dCurrent[1][1], $GUICtrlCreateListViewItem
- If Not IsArray($ar_2DArray) Then Return SetError(1, 0, 0)
- $searchGUI = GUICreate($sTitle, 810, 623, (@DesktopWidth - 800) / 2, (@DesktopHeight - 600) / 2, $WS_MAXIMIZEBOX + $WS_MINIMIZEBOX)
- $hndButton_Array1Box_TextSelect = GUICtrlCreateButton('&Text' & 'Selected', 10, 550, 70, 24)
- GUICtrlSetResizing($hndButton_Array1Box_TextSelect, BitOR($GUI_DockRight, $GUI_DockBottom, $GUI_DockSize))
- $hndButton_Close = GUICtrlCreateButton('&Close', 190, 550, 70, 24)
- GUICtrlSetResizing($hndButton_Close, BitOR($GUI_DockRight, $GUI_DockBottom, $GUI_DockSize))
- GUICtrlSetState($hndButton_Array1Box_TextSelect, ($GUI_DefButton))
- If UBound($ar_2DArray, 0) = 1 Then
- ReDim $ar_2dCurrent[UBound($ar_2DArray) ][1]
- For $i = 0 To UBound($ar_2DArray) - 1
- $ar_2dCurrent[$i][0] = $ar_2DArray[$i]
- Next
- $ar_2DArray = $ar_2dCurrent
- EndIf
- If $i_Transpose And IsArray($ar_2DArray) And UBound($ar_2DArray, 0) = 2 Then
- ReDim $ar_ExcelValueTrans[UBound($ar_2DArray, 2) ][UBound($ar_2DArray, 1) ]
- For $j = 0 To UBound($ar_2DArray, 2) - 1
- For $numb = 0 To UBound($ar_2DArray, 1) - 1
- If $numb > 250 Then ExitLoop
- $ar_ExcelValueTrans[$j][$numb] = $ar_2DArray[$numb][$j]
- Next
- Next
- $ar_2DArray = $ar_ExcelValueTrans
- EndIf
- Opt("GUIDataSeparatorChar", $GUIDataSeparatorChar)
- For $x = 0 To UBound($ar_2DArray) - 1 Step 1
- For $y = 0 To UBound($ar_2DArray, 2) - 1 Step 1
- $ar_2DArray[$x][$y] = StringReplace($ar_2DArray[$x][$y], $GUIDataSeparatorChar, $GUIDataReplace)
- Next
- Next
- For $i = 1 To UBound($ar_2DArray, 2)
- $sTempHeader &= $GUIDataSeparatorChar & 'Col ' & $i - 1
- Next
- StringReplace($sTempHeader, $GUIDataSeparatorChar, "<")
- If @extended > 252 Then
- $i_Pos = StringInStr($sTempHeader, $GUIDataSeparatorChar, 0, 252)
- $sTempHeader = StringLeft($sTempHeader, $i_Pos - 1)
- EndIf
- $s_NotDoneLine = StringReplace($sTempHeader, "Col", "ND")
- If UBound($ar_2DArray, 0) = 2 Then
- ReDim $ar_TempSingle[UBound($ar_2DArray) ]
- For $i = 0 To UBound($ar_2DArray) - 1
- $ar_TempSingle[$i] = "[" & $i & "]"
- For $c = 0 To UBound($ar_2DArray, 2) - 1
- If $c < 251 Then
- $ar_TempSingle[$i] &= $GUIDataSeparatorChar & $ar_2DArray[$i][$c]
- Else
- ExitLoop
- EndIf
- Next
- $ar_TempSingle[$i] = StringMid($ar_TempSingle[$i], 1, StringLen($ar_TempSingle) - 1)
- Next
- Else
- $ar_TempSingle = $ar_2DArray
- EndIf
- $size = WinGetClientSize($sTitle)
- GUICtrlDelete($searchlistView)
- $searchlistView = GUICtrlCreateListView($sTempHeader, 0, 16, $size[0] - 10, $size[1] - 90, BitOR($LVS_SHOWSELALWAYS, $LVS_EDITLABELS), BitOR($LVS_EX_GRIDLINES, $LVS_EX_HEADERDRAGDROP, $LVS_EX_FULLROWSELECT, $LVS_EX_REGIONAL))
- GUICtrlSetResizing($searchlistView, BitOR($GUI_DockLeft, $GUI_DockTop, $GUI_DockRight, $GUI_DockBottom))
- For $c = 0 To UBound($ar_TempSingle) - 1
- If ($c < 3999) Or $i_ShowOver4000 Then
- If $c < 3999 Then
- $GUICtrlCreateListViewItem = GUICtrlCreateListViewItem($ar_TempSingle[$c], $searchlistView)
- If Not $GUICtrlCreateListViewItem Then GUICtrlCreateListViewItem($s_NotDoneLine, $searchlistView)
- Else
- $ret = _GUICtrlListViewInsertItem($searchlistView, -1, $ar_TempSingle[$c])
- If ($ret = $LV_ERR) Then _GUICtrlListViewInsertItem($searchlistView, -1, $s_NotDoneLine)
- EndIf
- ElseIf ($c >= 3999) Then
- ExitLoop
- EndIf
- Next
- _GUICtrlListViewSetColumnWidth($searchlistView, 2, $LVSCW_AUTOSIZE)
- If UBound($ar_2DArray, 2) = 1 Then _GUICtrlListViewSetColumnWidth($searchlistView, 1, $LVSCW_AUTOSIZE)
- GUISetState()
- Local $SaveEventMode = Opt("GUIOnEventMode",0)
- Do
- $msg = GUIGetMsg(1)
- Select
- Case $msg[0] = $hndButton_Array1Box_TextSelect
- Local $a_indices[1], $s_CopyLines = ""
- If _GUICtrlListViewGetItemCount($searchlistView) Then $a_indices = _GUICtrlListViewGetSelectedIndices($searchlistView, 1)
- If (IsArray($a_indices)) Then
- ClipPut("")
- For $i = 1 To $a_indices[0]
- $s_CopyLines &= $ar_TempSingle[ $a_indices[$i]] & @LF
- Next
- Else
- For $i = 0 To UBound($ar_TempSingle) - 1
- $s_CopyLines &= $ar_TempSingle[$i] & @LF
- Next
- EndIf
- ClipPut($s_CopyLines)
- EndSelect
- Until $msg[0] = $GUI_EVENT_CLOSE Or $msg[0] = $hndButton_Close
- GUIDelete($searchGUI)
- Opt("GUIOnEventMode",$SaveEventMode)
- Return SetError(0, 0, 1)
- EndFunc
- Func _ArrayInsert(ByRef $avArray, $iElement, $sValue = "")
- Local $iCntr = 0
- If Not IsArray($avArray) Then
- SetError(1)
- Return 0
- EndIf
- ReDim $avArray[UBound($avArray) + 1]
- For $iCntr = UBound($avArray) - 1 To $iElement + 1 Step - 1
- $avArray[$iCntr] = $avArray[$iCntr - 1]
- Next
- $avArray[$iCntr] = $sValue
- Return 1
- EndFunc
- Func _ArrayMax(Const ByRef $avArray, $iCompNumeric = 0, $i_Base = 0)
- If IsArray($avArray) Then
- Return $avArray[_ArrayMaxIndex($avArray, $iCompNumeric, $i_Base) ]
- Else
- SetError(1)
- Return ""
- EndIf
- EndFunc
- Func _ArrayMaxIndex(Const ByRef $avArray, $iCompNumeric = 0, $i_Base = 0)
- Local $iCntr, $iMaxIndex = $i_Base
- If Not IsArray($avArray) Then
- SetError(1)
- Return ""
- EndIf
- Local $iUpper = UBound($avArray)
- For $iCntr = $i_Base To ($iUpper - 1)
- If $iCompNumeric = 1 Then
- If Number($avArray[$iMaxIndex]) < Number($avArray[$iCntr]) Then
- $iMaxIndex = $iCntr
- EndIf
- Else
- If $avArray[$iMaxIndex] < $avArray[$iCntr] Then
- $iMaxIndex = $iCntr
- EndIf
- EndIf
- Next
- SetError(0)
- Return $iMaxIndex
- EndFunc
- Func _ArrayMin(Const ByRef $avArray, $iCompNumeric = 0, $i_Base = 0)
- If IsArray($avArray) Then
- Return $avArray[_ArrayMinIndex($avArray, $iCompNumeric, $i_Base) ]
- Else
- SetError(1)
- Return ""
- EndIf
- EndFunc
- Func _ArrayMinIndex(Const ByRef $avArray, $iCompNumeric = 0, $i_Base = 0)
- Local $iCntr = 0, $iMinIndex = $i_Base
- If Not IsArray($avArray) Then
- SetError(1)
- Return ""
- EndIf
- Local $iUpper = UBound($avArray)
- For $iCntr = $i_Base To ($iUpper - 1)
- If $iCompNumeric = 1 Then
- If Number($avArray[$iMinIndex]) > Number($avArray[$iCntr]) Then
- $iMinIndex = $iCntr
- EndIf
- Else
- If $avArray[$iMinIndex] > $avArray[$iCntr] Then
- $iMinIndex = $iCntr
- EndIf
- EndIf
- Next
- SetError(0)
- Return $iMinIndex
- EndFunc
- Func _ArrayPop(ByRef $avArray)
- Local $sLastVal
- If (Not IsArray($avArray)) Then
- SetError(1)
- Return ""
- EndIf
- $sLastVal = $avArray[UBound($avArray) - 1]
- If UBound($avArray) = 1 Then
- $avArray = ""
- Else
- ReDim $avArray[UBound($avArray) - 1]
- EndIf
- Return $sLastVal
- EndFunc
- Func _ArrayPush(ByRef $avArray, $sValue, $i_Direction = 0)
- Local $i, $j
- If (Not IsArray($avArray)) Then
- SetError(1)
- Return 0
- EndIf
- If (Not IsArray($sValue)) Then
- If $i_Direction = 1 Then
- For $i = (UBound($avArray) - 1) To 1 Step - 1
- $avArray[$i] = $avArray[$i - 1]
- Next
- $avArray[0] = $sValue
- Else
- For $i = 0 To (UBound($avArray) - 2)
- $avArray[$i] = $avArray[$i + 1]
- Next
- $i = (UBound($avArray) - 1)
- $avArray[$i] = $sValue
- EndIf
- SetError(0)
- Return 1
- Else
- If UBound($sValue) > UBound($avArray) Then
- SetError(1)
- Return -1
- Else
- For $j = 0 To (UBound($sValue) - 1)
- If $i_Direction = 1 Then
- For $i = (UBound($avArray) - 1) To 1
- $avArray[$i] = $avArray[$i - 1]
- Next
- $avArray[$j] = $sValue[$j]
- Else
- For $i = 0 To (UBound($avArray) - 2)
- $avArray[$i] = $avArray[$i + 1]
- Next
- $i = (UBound($avArray) - 1)
- $avArray[$i] = $sValue[$j]
- EndIf
- Next
- EndIf
- EndIf
- SetError(0)
- Return 1
- EndFunc
- Func _ArrayReverse(ByRef $avArray, $i_Base = 0, $i_UBound = 0)
- If Not IsArray($avArray) Then
- SetError(1)
- Return 0
- EndIf
- Local $tmp, $last = UBound($avArray) - 1
- If $i_UBound < 1 Or $i_UBound > $last Then $i_UBound = $last
- For $i = $i_Base To $i_Base + Int(($i_UBound - $i_Base - 1) / 2)
- $tmp = $avArray[$i]
- $avArray[$i] = $avArray[$i_UBound]
- $avArray[$i_UBound] = $tmp
- $i_UBound = $i_UBound - 1
- Next
- Return 1
- EndFunc
- Func _ArraySearch(Const ByRef $avArray, $vWhat2Find, $iStart = 0, $iEnd = 0, $iCaseSense = 0, $fPartialSearch = False)
- Local $iCurrentPos, $iUBound, $iResult
- If Not IsArray($avArray) Then
- SetError(1)
- Return -1
- EndIf
- $iUBound = UBound($avArray) - 1
- If $iEnd = 0 Then $iEnd = $iUBound
- If $iStart > $iUBound Then
- SetError(2)
- Return -1
- EndIf
- If $iEnd > $iUBound Then
- SetError(3)
- Return -1
- EndIf
- If $iStart > $iEnd Then
- SetError(4)
- Return -1
- EndIf
- If Not ($iCaseSense = 0 Or $iCaseSense = 1) Then
- SetError(5)
- Return -1
- EndIf
- For $iCurrentPos = $iStart To $iEnd
- Select
- Case $iCaseSense = 0
- If $fPartialSearch = False Then
- If $avArray[$iCurrentPos] = $vWhat2Find Then
- SetError(0)
- Return $iCurrentPos
- EndIf
- Else
- $iResult = StringInStr($avArray[$iCurrentPos], $vWhat2Find, $iCaseSense)
- If $iResult > 0 Then
- SetError(0)
- Return $iCurrentPos
- EndIf
- EndIf
- Case $iCaseSense = 1
- If $fPartialSearch = False Then
- If $avArray[$iCurrentPos] == $vWhat2Find Then
- SetError(0)
- Return $iCurrentPos
- EndIf
- Else
- $iResult = StringInStr($avArray[$iCurrentPos], $vWhat2Find, $iCaseSense)
- If $iResult > 0 Then
- SetError(0)
- Return $iCurrentPos
- EndIf
- EndIf
- EndSelect
- Next
- SetError(6)
- Return -1
- EndFunc
- Func _ArraySort(ByRef $a_Array, $i_Decending = 0, $i_Base = 0, $i_UBound = 0, $i_Dim = 1, $i_SortIndex = 0)
- If Not IsArray($a_Array) Then
- SetError(1)
- Return 0
- EndIf
- Local $last = UBound($a_Array) - 1
- If $i_UBound < 1 Or $i_UBound > $last Then $i_UBound = $last
- If $i_Dim = 1 Then
- __ArrayQSort1($a_Array, $i_Base, $i_UBound)
- If $i_Decending Then _ArrayReverse($a_Array, $i_Base, $i_UBound)
- Else
- __ArrayQSort2($a_Array, $i_Base, $i_UBound, $i_Dim, $i_SortIndex, $i_Decending)
- EndIf
- Return 1
- EndFunc
- Func __ArrayQSort1(ByRef $array, ByRef $left, ByRef $right)
- Local $i, $j, $t
- If $right - $left < 10 Then
- For $i = $left + 1 To $right
- $t = $array[$i]
- $j = $i
- While $j > $left _
- And ((IsNumber($array[$j - 1]) = IsNumber($t) And $array[$j - 1] > $t) _
- Or (IsNumber($array[$j - 1]) <> IsNumber($t) And String($array[$j - 1]) > String($t)))
- $array[$j] = $array[$j - 1]
- $j = $j - 1
- WEnd
- $array[$j] = $t
- Next
- Return
- EndIf
- Local $pivot = $array[Int(($left + $right) / 2) ]
- Local $L = $left
- Local $R = $right
- Do
- While ((IsNumber($array[$L]) = IsNumber($pivot) And $array[$L] < $pivot) _
- Or (IsNumber($array[$L]) <> IsNumber($pivot) And String($array[$L]) < String($pivot)))
- $L = $L + 1
- WEnd
- While ((IsNumber($array[$R]) = IsNumber($pivot) And $array[$R] > $pivot) _
- Or (IsNumber($array[$R]) <> IsNumber($pivot) And String($array[$R]) > String($pivot)))
- $R = $R - 1
- WEnd
- If $L <= $R Then
- $t = $array[$L]
- $array[$L] = $array[$R]
- $array[$R] = $t
- $L = $L + 1
- $R = $R - 1
- EndIf
- Until $L > $R
- __ArrayQSort1($array, $left, $R)
- __ArrayQSort1($array, $L, $right)
- EndFunc
- Func __ArrayQSort2(ByRef $array, ByRef $left, ByRef $right, ByRef $dim2, ByRef $sortIdx, ByRef $decend)
- If $left >= $right Then Return
- Local $t, $d2 = $dim2 - 1
- Local $pivot = $array[Int(($left + $right) / 2) ][$sortIdx]
- Local $L = $left
- Local $R = $right
- Do
- If $decend Then
- While ((IsNumber($array[$L][$sortIdx]) = IsNumber($pivot) And $array[$L][$sortIdx] > $pivot) _
- Or (IsNumber($array[$L][$sortIdx]) <> IsNumber($pivot) And String($array[$L][$sortIdx]) > String($pivot)))
- $L = $L + 1
- WEnd
- While ((IsNumber($array[$R][$sortIdx]) = IsNumber($pivot) And $array[$R][$sortIdx] < $pivot) _
- Or (IsNumber($array[$R][$sortIdx]) <> IsNumber($pivot) And String($array[$R][$sortIdx]) < String($pivot)))
- $R = $R - 1
- WEnd
- Else
- While ((IsNumber($array[$L][$sortIdx]) = IsNumber($pivot) And $array[$L][$sortIdx] < $pivot) _
- Or (IsNumber($array[$L][$sortIdx]) <> IsNumber($pivot) And String($array[$L][$sortIdx]) < String($pivot)))
- $L = $L + 1
- WEnd
- While ((IsNumber($array[$R][$sortIdx]) = IsNumber($pivot) And $array[$R][$sortIdx] > $pivot) _
- Or (IsNumber($array[$R][$sortIdx]) <> IsNumber($pivot) And String($array[$R][$sortIdx]) > String($pivot)))
- $R = $R - 1
- WEnd
- EndIf
- If $L <= $R Then
- For $x = 0 To $d2
- $t = $array[$L][$x]
- $array[$L][$x] = $array[$R][$x]
- $array[$R][$x] = $t
- Next
- $L = $L + 1
- $R = $R - 1
- EndIf
- Until $L > $R
- __ArrayQSort2($array, $left, $R, $dim2, $sortIdx, $decend)
- __ArrayQSort2($array, $L, $right, $dim2, $sortIdx, $decend)
- EndFunc
- Func _ArraySwap(ByRef $svector1, ByRef $svector2)
- Local $sTemp = $svector1
- $svector1 = $svector2
- $svector2 = $sTemp
- SetError(0)
- EndFunc
- Func _ArrayToClip(Const ByRef $avArray, $i_Base = 0)
- Local $iCntr, $iRetVal = 0, $sCr = "", $sText = ""
- If (IsArray($avArray)) Then
- For $iCntr = $i_Base To (UBound($avArray) - 1)
- $iRetVal = 1
- If $iCntr > $i_Base Then
- $sCr = @CR
- EndIf
- $sText = $sText & $sCr & $avArray[$iCntr]
- Next
- EndIf
- ClipPut($sText)
- Return $iRetVal
- EndFunc
- Func _ArrayToString(Const ByRef $avArray, $sDelim, $iStart = Default, $iEnd = Default)
- Local $iUBound = UBound($avArray) - 1
- If ($iUBound + 1) < 2 Or UBound($avArray, 0) > 1 Then Return SetError(1, 0, "")
- If $iStart = Default Or $iStart = -1 Then $iStart = 0
- If $iEnd = Default Or $iEnd = -1 Then $iEnd = $iUBound
- If ($iStart < 0) Or ($iEnd < 0) Or ($iStart > $iEnd) Then Return SetError(2, 0, "")
- If ($iEnd > $iUBound) Then
- $iEnd = $iUBound
- EndIf
- Local $sResult
- For $i = $iStart To $iEnd
- $sResult &= $avArray[$i] & $sDelim
- Next
- Return StringTrimRight($sResult, StringLen($sDelim))
- EndFunc
- Func _ArrayTrim($aArray, $iTrimNum, $iTrimDirection = 0, $iBase = 0, $iUBound = 0)
- Local $i
- If UBound($aArray) = 0 Then
- SetError(1)
- Return $aArray
- EndIf
- If $iBase < 0 Or Not IsNumber($iBase) Then
- SetError(2)
- Return $aArray
- EndIf
- If UBound($aArray) <= $iUBound Or Not IsNumber($iUBound) Then
- SetError(3)
- Return $aArray
- EndIf
- If $iUBound < 1 Then $iUBound = UBound($aArray) - 1
- If $iTrimDirection < 0 Or $iTrimDirection > 1 Then
- SetError(4)
- Return
- EndIf
- For $i = $iBase To $iUBound
- If $iTrimDirection = 0 Then
- $aArray[$i] = StringTrimLeft($aArray[$i], $iTrimNum)
- Else
- $aArray[$i] = StringTrimRight($aArray[$i], $iTrimNum)
- EndIf
- Next
- Return $aArray
- EndFunc
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\array.au3>
- ; ----------------------------------------------------------------------------
- Const $PARAMBYVAL = 0
- Const $PARAMBYREF = 1
- Const $PARAMWINDOW = 3
- Const $ParamArray = 2
- Const $OE_HOTKEY = 1
- Const $OE_CONTROL = 0
- Const $OE_GUI = 2
- Const $MAX_NUM_PARAMS = 5
- Global $CtrlLib[6][2][$MAX_NUM_PARAMS + 3]
- Func SetOnEventA($iCtrl, $sFunc, $ParType1 = 0, $Par1 = '', $ParType2 = 0, $par2 = '', $ParType3 = 0, $Par3 = '', $ParType4 = 0, $Par4 = '', $ParType5 = 0, $Par5 = '')
- Local $n, $aval, $item = 0, $iParCount = 0
- $iParCount = (@NumParams - 2) / 2
- If $iCtrl = -1 Then $iCtrl = _GUIGetLastCtrlID()
- For $n = 1 To $CtrlLib[0][0][0]
- If $CtrlLib[$n][1][0] = $iCtrl Then
- $item = $n
- ExitLoop
- EndIf
- Next
- If $item = 0 Then
- $CtrlLib[0][0][0] += 1
- $item = $CtrlLib[0][0][0]
- If UBound($CtrlLib) < $item + 1 Then ReDim $CtrlLib[$item + 2][2][$MAX_NUM_PARAMS + 3]
- EndIf
- If IsString($iCtrl) Then
- If Not IsString($iCtrl) Or $iCtrl = '' Then Return -6
- HotKeySet($iCtrl, "HK_EventFunc")
- $CtrlLib[$item][0][0] = $OE_HOTKEY
- Else
- If Opt("GUIOnEventMode") = 0 Then
- Return -3
- EndIf
- If $iCtrl < -2 And $iCtrl > -14 Then
- If $ParType1 <> $PARAMBYVAL Then Return -4
- If IsHWnd($Par1) Then
- $CtrlLib[$item][0][1] = $Par1
- ElseIf Number($Par1) = 0 Then
- $CtrlLib[$item][0][1] = 0
- Else
- Return -5
- EndIf
- GUISetOnEvent($iCtrl, "EventGuiFunc")
- $CtrlLib[$item][0][0] = $OE_GUI
- Else
- $CtrlLib[$item][0][0] = $OE_CONTROL
- GUICtrlSetOnEvent($iCtrl, "EventCtrlFunc")
- EndIf
- EndIf
- Switch $CtrlLib[$item][0][0]
- Case $OE_HOTKEY
- $CtrlLib[$item][1][0] = $iCtrl
- Case $OE_CONTROL
- $CtrlLib[$item][1][0] = $iCtrl
- Case $OE_GUI
- $CtrlLib[$item][1][0] = $iCtrl
- EndSwitch
- $CtrlLib[$item][1][1] = $sFunc
- $CtrlLib[$item][1][2] = $iParCount
- For $n = 1 To $iParCount
- $CtrlLib[$item][0][$n + 2] = Eval("ParType" & $n)
- If $CtrlLib[$item][0][$n + 2] = $PARAMBYVAL Then
- $CtrlLib[$item][1][$n + 2] = Eval("Par" & $n)
- ElseIf ($CtrlLib[$item][0][$n + 2] = $PARAMBYREF) Then
- $aval = Eval("Par" & $n)
- If Not IsString($aval) Then
- $CtrlLib[$item][1][1] = ""
- SetError($n)
- Return -2
- EndIf
- If StringLeft($aval, 1) = '$' Then
- $aval = StringRight($aval, StringLen($aval) - 1)
- EndIf
- $CtrlLib[$item][1][$n + 2] = $aval
- Else
- $CtrlLib[$item][1][1] = ""
- Return -1
- EndIf
- Next
- If $CtrlLib[$item][0][0] = $OE_GUI And $iParCount = 0 Then
- $CtrlLib[$item][1][1 + 2] = 0
- EndIf
- Return 1
- EndFunc
- Func _GUIGetLastCtrlID()
- Local $aRet = DllCall("user32.dll", "int", "GetDlgCtrlID", "hwnd", GUICtrlGetHandle(-1))
- Return $aRet[0]
- EndFunc
- Func EventCtrlFunc()
- Local $item
- $item = GetItem(@GUI_CtrlId)
- If $item = -1 Then Return
- $CtrlLib[0][1][1] = $item
- $CtrlLib[0][1][2] = @GUI_CtrlId
- BuildFnCall($item)
- EndFunc
- Func EventGuiFunc()
- Local $item
- $item = GetItem(@GUI_CtrlId, @GUI_WinHandle)
- If $item = -1 Then Return
- $CtrlLib[0][1][1] = $item
- $CtrlLib[0][1][2] = @GUI_CtrlId
- If @GUI_CtrlId = $GUI_EVENT_DROPPED Then
- $CtrlLib[0][1][3] = @GUI_DragId
- $CtrlLib[0][1][4] = @GUI_DragFile
- $CtrlLib[0][1][5] = @GUI_DropId
- EndIf
- BuildFnCall($item)
- EndFunc
- Func EventGetDragIDs()
- Local $aDrag[3]
- $aDrag[0] = $CtrlLib[0][1][3]
- $aDrag[1] = $CtrlLib[0][1][4]
- $aDrag[2] = $CtrlLib[0][1][5]
- Return $aDrag
- EndFunc
- Func HK_EventFunc()
- Local $item
- $item = GetItem(@HotKeyPressed)
- If $item = -1 Then Return
- $CtrlLib[0][1][1] = $item
- $CtrlLib[0][1][2] = @HotKeyPressed
- BuildFnCall($item)
- EndFunc
- Func BuildFnCall($index)
- Local $Arrayset[$CtrlLib[$index][1][2] + 1]
- $Arrayset[0] = "CallArgArray"
- For $n = 1 To $CtrlLib[$index][1][2]
- If $CtrlLib[$index][0][$n + 2] = $PARAMBYVAL Then
- $Arrayset[$n] = $CtrlLib[$index][1][$n + 2]
- Else
- $Arrayset[$n] = Eval($CtrlLib[$index][1][$n + 2])
- EndIf
- Next
- Call($CtrlLib[$index][1][1], $Arrayset)
- EndFunc
- Func GetCtrlID()
- Return $CtrlLib[0][1][2]
- EndFunc
- Func GetCtrlHandle()
- If IsString($CtrlLib[0][1][2]) Or $CtrlLib[0][1][2] = 0 Then
- Return 0
- Else
- Return GUICtrlGetHandle($CtrlLib[0][1][2])
- EndIf
- EndFunc
- Func GetItem($id, $hWnd = 0)
- For $n = 0 To UBound($CtrlLib) - 1
- If $CtrlLib[$n][1][0] = $id Then
- If $CtrlLib[$n][0][0] = $OE_GUI Then
- If $CtrlLib[$n][0][1] = $hWnd Or $CtrlLib[$n][0][1] = 0 Then
- Return $n
- EndIf
- Else
- Return $n
- EndIf
- EndIf
- Next
- Return -1
- EndFunc
- Func SetOnEvent($iCtrl, $sFunc, $iParCount = 0, $ParType1 = 0, $Par1 = '', $ParType2 = 0, $par2 = '', $ParType3 = 0, $Par3 = '', $ParType4 = 0, $Par4 = '', $ParType5 = 0, $Par5 = '')
- SetOnEventA($iCtrl, $sFunc, $ParType1, $Par1, $ParType2, $par2, $ParType3, $Par3, $ParType4, $Par4, $ParType5, $Par5)
- EndFunc
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\onEventFunc.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\GuiListView.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\GuiListView.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\onEventFunc.au3>
- ; ----------------------------------------------------------------------------
- #AutoIt3Wrapper_Add_Constants=n
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Include\array.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Include\array.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\onEventFunc.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\doubleclick.au3>
- ; ----------------------------------------------------------------------------
- Func WM_NOTIFY($hWnd, $MsgID, $wParam, $lParam)
- Local $tagNMHDR, $event, $hwndFrom, $code
- $tagNMHDR = DllStructCreate("int;int;int", $lParam)
- If @error Then Return 0
- $code = DllStructGetData($tagNMHDR, 3)
- If $wParam = $list And $code = -3 And _GUICtrlListViewGetSelectedCount($list) > 0 Then
- Global $dblclk=1
- EndIf
- EndFunc
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\doubleclick.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\mem.au3>
- ; ----------------------------------------------------------------------------
- Global $DllInformation[99] = [0]
- Global $CurrentLevel [99] = [0]
- Global $playeradress[99] = [0]
- Global $unitfield[99] = [0]
- Func LoadMemory ($i)
- If $attached[$i]=1 Then
- If Winexists ($handle[$i]) Then
- $DllInformation[$i] = _MemoryOpen($id[$i])
- Global $Test1 = $id[$i]
- Else
- $attached[$i]=0
- $status[$i] = $notattached_
- LoadList ()
- EndIf
- EndIf
- EndFunc
- Func GetAdresses ($i)
- $playeradress[$i] = _MemoryRead(_MemoryRead(_MemoryRead($playerbase, $DllInformation[$i], 'dword')+0x0C, $DllInformation[$i], 'dword')+0x24,$DllInformation[$i], 'dword')
- $unitfield[$i] = _MemoryRead($playeradress[$i]+0x8, $DllInformation[$i], 'int')
- EndFunc
- Func GetChar ($i)
- LoadMemory ($i)
- GetAdresses ($i)
- $level[$i] = _MemoryRead($unitfield[$i]+$UNIT_FIELD_LEVEL*4, $DllInformation[$i], 'int')
- EndFunc
- Func GetScreens ()
- For $k=1 To IniRead ("settings.ini", "Global", "Number", 0)
- LoadMemory ($k)
- GetAdresses ($k)
- If $attached[$k]=1 Then
- If _MemoryRead(0x00B02BB8, $DllInformation[$k], 'int') = 1768386412 And _MemoryRead($playeradress[$k] + $offset_x, $DllInformation[$k], 'float')=0 Then
- $screen[$k]=$home_
- ElseIf ((_MemoryRead(0x00B02BB8, $DllInformation[$k], 'int') = 1918986339 And _MemoryRead(0x00A64D94, $DllInformation[$k], 'int')) = 4 Or (_MemoryRead(0x00A64D94, $DllInformation[$k], 'int') = 16)) And _MemoryRead($playeradress[$k] + $offset_x, $DllInformation[$k], 'float') = 0 Then
- $screen[$k]=$char_
- ElseIf _MemoryRead(0x00B02BB8, $DllInformation[$k], 'int') = 1768386412 And (_MemoryRead(0x00A64D94, $DllInformation[$k], 'int') = 5 Or _MemoryRead(0x00A64D94, $DllInformation[$k], 'int') = 1) And _MemoryRead($playeradress[$k] + $offset_x, $DllInformation[$k], 'float') = 0 Then
- $screen[$k]=$popup_
- ElseIf _MemoryRead(0x00B02BB8, $DllInformation[$k], 'int') = 1918986339 And _MemoryRead(0x00A64D94, $DllInformation[$k], 'int') = 4 And _MemoryRead($playeradress[$k] + $offset_x, $DllInformation[$k], 'float')<> 0 Then
- $screen[$k] = $ig_
- Else
- $screen[$k]=$unknown_
- EndIf
- EndIf
- Next
- EndFunc
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\mem.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\offsets.au3>
- ; ----------------------------------------------------------------------------
- $playerbase=0x00A7B434
- $offset_x = 0x798
- $UNIT_FIELD_LEVEL = 0x35
- $UNIT_FIELD_STAT0=0x55
- Func addOffset($i, $base, $tOff1 = 0, $tOff2 = 0, $tOff3 = 0, $tOff4 = 0, $tOff5 = 0)
- Local $ret0 = _MemoryRead($base, $DllInformation[$i], 'dword'), $count=0
- For $step = 1 to @NumParams-1
- Assign("ret" & $step, _MemoryRead(eval("ret" & $step-1) + eval("tOff" & $step), $DllInformation[$i], 'dword'))
- $count+=1
- Next
- Return eval("ret" & $count)
- EndFunc
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\offsets.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\NomadMemory.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\NomadMemory.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\custom.au3>
- ; ----------------------------------------------------------------------------
- Func ClearPopup ($i)
- $popupcount = $popupcount+1
- If Round(Int($popupcount/3)/2,0)=Int($popupcount/3)/2 Then
- ClearPopup1 ($i)
- Else
- ClearPopup2 ($i)
- EndIf
- EndFunc
- Func ClearPopup1 ($i)
- ControlSend($handle[$i], "", $handle[$i], "{ENTER}")
- EndFunc
- Func ClearPopup2 ($i)
- $pos = WinGetPos($handle[$i])
- $pos2 = MouseGetPos()
- MouseMove(IniRead("settings.ini","Global","Border Width", 6)+$pos[0] + (1/2)* ($pos[2]-IniRead("settings.ini","Global","Border Width", 6)*2), IniRead("settings.ini","Global","Title Height",20)+ IniRead("settings.ini","Global","Border Width",6)+$pos[1] + (103/200)*($pos[3]-IniRead("settings.ini","Global","Border Width", 6)*2-IniRead("settings.ini","Global","Title Height",20)), 0)
- _MouseClickPlus($handle[$i], "left", IniRead("settings.ini","Global","Border Width", 6)+$pos[0] + (1/2)* ($pos[2]-IniRead("settings.ini","Global","Border Width", 6)*2), IniRead("settings.ini","Global","Title Height",20)+ IniRead("settings.ini","Global","Border Width",6)+$pos[1] + (103/200)*($pos[3]-IniRead("settings.ini","Global","Border Width", 6)*2-IniRead("settings.ini","Global","Title Height",20)))
- MouseMove(IniRead("settings.ini","Global","Border Width", 6)+$pos[0] + (1/2)* $pos[2], IniRead("settings.ini","Global","Title Height",20)+ IniRead("settings.ini","Global","Border Width",6)+$pos[1] + (116/200)*$pos[3], 0)
- _MouseClickPlus($handle[$i], "left", IniRead("settings.ini","Global","Border Width", 6)+$pos[0] + (1/2)* ($pos[2]-IniRead("settings.ini","Global","Border Width", 6)*2), IniRead("settings.ini","Global","Title Height",20)+ IniRead("settings.ini","Global","Border Width",6)+$pos[1] + (116/200)*($pos[3]-IniRead("settings.ini","Global","Border Width", 6)*2-IniRead("settings.ini","Global","Title Height",20)))
- MouseMove(IniRead("settings.ini","Global","Border Width", 6)+$pos[0] + (123/200)* $pos[2], IniRead("settings.ini","Global","Title Height",20)+ IniRead("settings.ini","Global","Border Width",6)+$pos[1] + (120/200)*$pos[3], 0)
- _MouseClickPlus($handle[$i], "left", IniRead("settings.ini","Global","Border Width", 6)+$pos[0] + (123/200)* ($pos[2]-IniRead("settings.ini","Global","Border Width", 6)*2), IniRead("settings.ini","Global","Title Height",20)+ IniRead("settings.ini","Global","Border Width",6)+$pos[1] + (120/200)*($pos[3]-IniRead("settings.ini","Global","Border Width", 6)*2-IniRead("settings.ini","Global","Title Height",20)))
- Sleep ("0")
- MouseMove(IniRead("settings.ini","Global","Border Width", 6)+$pos[0] + (140/200)* $pos[2], IniRead("settings.ini","Global","Title Height",20)+ IniRead("settings.ini","Global","Border Width",6)+$pos[1] + (158/200)*$pos[3], 0)
- _MouseClickPlus($handle[$i], "left", IniRead("settings.ini","Global","Border Width", 6)+$pos[0] + (140/200)* ($pos[2]-IniRead("settings.ini","Global","Border Width", 6)*2), IniRead("settings.ini","Global","Title Height",20)+ IniRead("settings.ini","Global","Border Width",6)+$pos[1] + (158/200)*($pos[3]-IniRead("settings.ini","Global","Border Width", 6)*2-IniRead("settings.ini","Global","Title Height",20)))
- MouseMove($pos2[0], $pos2[1], 0)
- EndFunc
- Func Login ($i)
- $pos = WinGetPos($handle[$i])
- $pos2 = MouseGetPos()
- If IniRead ("settings.ini", "Settings " &$i, "AccountInput", 4)=1 Then
- MouseMove(IniRead("settings.ini","Global","Border Width", 6)+$pos[0] + (1/2)* ($pos[2]-IniRead("settings.ini","Global","Border Width", 6)*2), IniRead("settings.ini","Global","Title Height",20)+ IniRead("settings.ini","Global","Border Width",6)+$pos[1] + (105/200)*($pos[3]-IniRead("settings.ini","Global","Border Width", 6)*2-IniRead("settings.ini","Global","Title Height",20)), 0)
- _MouseClickPlus($handle[$i], "left", IniRead("settings.ini","Global","Border Width", 6)+$pos[0] + (1/2)* ($pos[2]-IniRead("settings.ini","Global","Border Width", 6)*2), IniRead("settings.ini","Global","Title Height",20)+ IniRead("settings.ini","Global","Border Width",6)+$pos[1] + (105/200)*($pos[3]-IniRead("settings.ini","Global","Border Width", 6)*2-IniRead("settings.ini","Global","Title Height",20)))
- MouseMove($pos2[0], $pos2[1], 0)
- Sleep ("1000")
- ControlSend($handle[$i], "", $handle[$i], "{BACKSPACE 50}")
- ControlSend($handle[$i], "", $handle[$i], "{DEL 50}")
- If StringInStr(IniRead("settings.ini","Settings "&$i, "Account",''), "@")>0 Then
- ControlSend ( $handle[$i], '' , $handle[$i], StringLeft(IniRead("settings.ini","Settings "&$i, "Account",''), StringInStr(IniRead("settings.ini","Settings "&$i, "Account",''), "@")-1))
- Sleep ("200")
- ControlSend ($handle[$i], '' , $handle[$i],"{CTRLDOWN}")
- Sleep ("5000")
- $previousclip=ClipGet()
- Sleep ("100")
- While ClipGet ()<>"@"
- ClipPut ("@")
- WEnd
- ControlSend ( $handle[$i], '' , $handle[$i],"^v")
- Sleep ("100")
- While ClipGet ()<>$previousclip
- ClipPut ($previousclip)
- WEnd
- Sleep ("5000")
- ControlSend ($handle[$i], '' , $handle[$i],"{CTRLUP}")
- Sleep ("200")
- ControlSend ( $handle[$i], '' , $handle[$i],"{BS}")
- ControlSend ( $handle[$i], '' , $handle[$i], StringRight(IniRead("settings.ini","Settings "&$i, "Account",''), StringLen (IniRead("settings.ini","Settings "&$i, "Account",''))-StringInStr(IniRead("settings.ini","Settings "&$i, "Account",''), "@")))
- Else
- ControlSend($handle[$i], "", $handle[$i], IniRead("settings.ini","Settings "&$i, "Account",''))
- EndIf
- Sleep ("1000")
- EndIf
- $pos = WinGetPos($handle[$i])
- $pos2 = MouseGetPos()
- MouseMove(IniRead("settings.ini","Global","Border Width", 6)+$pos[0] + (1/2)* ($pos[2]-IniRead("settings.ini","Global","Border Width", 6)*2), IniRead("settings.ini","Global","Title Height",20)+ IniRead("settings.ini","Global","Border Width",6)+$pos[1] + (123/200)*($pos[3]-IniRead("settings.ini","Global","Border Width", 6)*2-IniRead("settings.ini","Global","Title Height",20)), 0)
- _MouseClickPlus($handle[$i], "left", IniRead("settings.ini","Global","Border Width", 6)+$pos[0] + (1/2)* ($pos[2]-IniRead("settings.ini","Global","Border Width", 6)*2), IniRead("settings.ini","Global","Title Height",20)+ IniRead("settings.ini","Global","Border Width",6)+$pos[1] + (123/200)*($pos[3]-IniRead("settings.ini","Global","Border Width", 6)*2-IniRead("settings.ini","Global","Title Height",20)))
- MouseMove($pos2[0], $pos2[1], 0)
- Sleep ("1000")
- ControlSend($handle[$i], "", $handle[$i], "{BACKSPACE 50}")
- ControlSend($handle[$i], "", $handle[$i], "{DEL 50}")
- ControlSend($handle[$i], "", $handle[$i], IniRead("settings.ini","Settings "&$i, "Password",''))
- Sleep ("1000")
- ControlSend($handle[$i], "", $handle[$i], "{ENTER}")
- $relog[$i]= $relog[$i]+1
- EndFunc
- Func CharSelect ($i)
- If IniRead("settings.ini", "Settings "&$i,"Character",0)=0 Then
- ControlSend($handle[$i], "", $handle[$i], "{ENTER}")
- Else
- $pos = WinGetPos($handle[$i])
- $pos2 = MouseGetPos()
- MouseMove(IniRead("settings.ini","Global","Border Width", 6)+$pos[0] + (170/200)* ($pos[2]-IniRead("settings.ini","Global","Border Width", 6)*2), IniRead("settings.ini","Global","Title Height",20)+ IniRead("settings.ini","Global","Border Width",6)+$pos[1] + ((14/200)+((45/600)*IniRead("settings.ini", "Settings "&$i,"Character",0)))*($pos[3]-IniRead("settings.ini","Global","Border Width", 6)*2-IniRead("settings.ini","Global","Title Height",20)), 0)
- _MouseClickPlus($handle[$i], "left", IniRead("settings.ini","Global","Border Width", 6)+$pos[0] + (170/200)* ($pos[2]-IniRead("settings.ini","Global","Border Width", 6)*2), IniRead("settings.ini","Global","Title Height",20)+ IniRead("settings.ini","Global","Border Width",6)+$pos[1] + ((14/200)+((45/600)*IniRead("settings.ini", "Settings "&$i,"Character",0)))*($pos[3]-IniRead("settings.ini","Global","Border Width", 6)*2-IniRead("settings.ini","Global","Title Height",20)))
- _MouseClickPlus($handle[$i], "left", IniRead("settings.ini","Global","Border Width", 6)+$pos[0] + (170/200)* ($pos[2]-IniRead("settings.ini","Global","Border Width", 6)*2), IniRead("settings.ini","Global","Title Height",20)+ IniRead("settings.ini","Global","Border Width",6)+$pos[1] + ((14/200)+((45/600)*IniRead("settings.ini", "Settings "&$i,"Character",0)))*($pos[3]-IniRead("settings.ini","Global","Border Width", 6)*2-IniRead("settings.ini","Global","Title Height",20)))
- MouseMove($pos2[0], $pos2[1], 0)
- EndIf
- $relogchar[$i]= $relogchar[$i]+1
- Sleep ("30000")
- LoadList ()
- EndFunc
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\custom.au3>
- ; ----------------------------------------------------------------------------
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-START: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\lang.au3>
- ; ----------------------------------------------------------------------------
- Func SetLanguage ()
- If IniRead ("settings.ini", "Global", "Language", 'en')='en' Then
- Global $menu1_ = 'Menu'
- Global $menu2_ = 'Settings'
- Global $statistics_ = 'Statistics'
- Global $cancel_ = 'Cancel'
- Global $ok_ = 'Ok'
- Global $relog_ = 'Relog'
- Global $wow_ = 'WoW'
- Global $start_ = 'Start'
- Global $stop_ = 'Stop'
- Global $edit_ = 'Edit'
- Global $del_ = 'Delete'
- Global $new_ = 'New'
- Global $attach_ = 'Attach'
- Global $refresh_ = 'Refresh'
- Global $startall_ = 'Start All'
- Global $stopall_ = 'Stop All'
- Global $error_ = 'Error'
- Global $fillsettings_ = 'You must fill all the settings !'
- Global $fillnumber_ = 'You must fill the character setting with a number between 0 and 10!'
- Global $name_ = 'Name'
- Global $level_ = 'Level'
- Global $class_ = 'Class'
- Global $screen_ = 'Screen'
- Global $relogslist_ = 'Relogs'
- Global $status_ = 'Status'
- Global $new_ = 'New'
- Global $notattached_ = 'Not Attached'
- Global $attached_ = 'Attached'
- Global $started_ = 'Started'
- Global $notstarted_ = 'Stopped'
- Global $unknown_ = 'Unknown'
- Global $home_ = 'Home'
- Global $char_ = 'Character'
- Global $popup_ = "Disconnected?"
- Global $ig_ = 'In Game'
- Global $relogs_ = 'Maximum Relogs number'
- Global $time_ = 'Maximum Relogs time'
- Global $timeexp_ = 'in hours'
- Global $wowusername_ = 'Username'
- Global $wowpassword_ = 'Password'
- Global $wowchar_ = 'Number'
- Global $wowcharexp_ = 'If you leave 0, it will relog the already selected character'
- Global $wowclass_ = 'Class'
- Global $dk_ = 'Death Knight'
- Global $druid_ = 'Druid'
- Global $hunt_ = 'Hunter'
- Global $mage_ = 'Mage'
- Global $paladin_ = 'Paladin'
- Global $priest_ = 'Priest'
- Global $rogue_ = 'Rogue'
- Global $shaman_ = 'Shaman'
- Global $warlock = 'Warlock'
- Global $war_ = 'Warrior'
- Global $clickonwow_ = 'Click on WoW window'
- Global $failedtoload_ = "Failed to load WoW"
- Global $wowloaded_ = 'WoW has been loaded'
- Global $exit_ = 'Exit'
- Global $options_ = 'Settings'
- Global $credits_ = 'Credits'
- Global $show_ = 'Show'
- Global $lang_ = 'Language'
- Global $fr_ = 'French'
- Global $en_ = 'English'
- Global $langexp_ = "Changes will only take effect at the next start"
- Global $calibrate_ = 'Calibrate'
- Global $calibrateexp_ = 'Calibrate can solve mouse clic issues'
- Global $calibrateexp1_ = 'Launch a new WoW instance which video resolution settings are 800x600. Then attach to that window with the following button :'
- Global $clickonwowcalib_ = 'Click on WoW window whose resolution is 800x600'
- Global $failedtocalib_ = "Failed to calibrate WoW"
- Global $wowcalibrated_ = 'WoW was calibrated'
- Global $borderwidth_ = "Border Width"
- Global $titleheight_ = "Title Height"
- Global $calibrateexp2_ = "If you have negative results or results above 15/30, calibrate again."
- Global $windowsize_ = 'Window Size'
- Global $windowsizeexp_ = 'Number of lines (minimum 3) :'
- Global $reloglogin_ = 'Relogs :'
- Global $relogchar_ = 'Character Selection :'
- Global $rename_ = 'WoW window'
- Global $renameexp_ = 'Rename WoW window'
- Global $windowposexp_ = 'Set window position'
- Global $windowsizeexp_ = 'Set window size'
- Global $move_ = 'Move window'
- Global $move_grid_ = 'Automatic grid'
- Global $move_xy_ = 'Choose XY'
- ElseIf IniRead ("settings.ini", "Global", "Language", 'en')='fr' Then
- Global $menu1_ = 'Menu'
- Global $menu2_ = 'Options'
- Global $statistics_ = 'Statistiques'
- Global $cancel_ = 'Annuler'
- Global $ok_ = 'Ok'
- Global $relog_ = 'Relog'
- Global $wow_ = 'WoW'
- Global $start_ = 'D�marrer'
- Global $stop_ = 'Arr�ter'
- Global $edit_ = 'Editer'
- Global $del_ = 'Supprimer'
- Global $new_ = 'Nouveau'
- Global $attach_ = 'Attacher'
- Global $refresh_ = 'Rafra�chir'
- Global $startall_ = 'Tout D�marrer'
- Global $stopall_ = 'Tout Arr�ter'
- Global $error_ = 'Erreur'
- Global $fillsettings_ = 'Vous devez remplir tous les param�tres !'
- Global $fillnumber_ = 'Vous devez remplir le param�tre personnage avec un nombre entre 0 et 10!'
- Global $name_ = 'Nom'
- Global $level_ = 'Niveau'
- Global $class_ = 'Classe'
- Global $screen_ = 'Ecran'
- Global $relogslist_ = 'Relogs'
- Global $status_ = 'Statut'
- Global $new_ = 'Nouveau'
- Global $notattached_ = 'Non Attach�'
- Global $attached_ = 'Attach�'
- Global $started_ = 'D�marr�'
- Global $notstarted_ = 'Arr�t�'
- Global $unknown_ = 'Inconnu'
- Global $home_ = 'Home'
- Global $char_ = 'Personnage'
- Global $popup_ = "Fen�tre d'erreur"
- Global $ig_ = 'En Jeu'
- Global $relogs_ = 'Nombre de Relogs maximum'
- Global $time_ = 'Temps de Relogs maximum'
- Global $timeexp_ = 'en heures'
- Global $wowusername_ = 'Nom de Compte'
- Global $wowpassword_ = 'Mot de Passe'
- Global $wowchar_ = 'Numero'
- Global $wowcharexp_ = 'Si vous laissez 0, cela reloggera le personnage d�j� s�l�ctionn�'
- Global $wowclass_ = 'Classe'
- Global $dk_ = 'Chevalier de la mort'
- Global $druid_ = 'Druide'
- Global $hunt_ = 'Chasseur'
- Global $mage_ = 'Mage'
- Global $paladin_ = 'Paladin'
- Global $priest_ = 'Pr�tre'
- Global $rogue_ = 'Voleur'
- Global $shaman_ = 'Chaman'
- Global $warlock = 'D�moniste'
- Global $war_ = 'Guerrier'
- Global $clickonwow_ = 'Cliquez sur la fen�tre de WoW'
- Global $failedtoload_ = "WoW n'a pas pu etre charg�"
- Global $wowloaded_ = 'WoW a �t� charg�'
- Global $exit_ = 'Quitter'
- Global $options_ = 'Options'
- Global $credits_ = 'Credits'
- Global $show_ = 'Afficher'
- Global $lang_ = 'Langue'
- Global $fr_ = 'Fran�ais'
- Global $en_ = 'Anglais'
- Global $langexp_ = "Les changements prendront effet au prochain lancement seulement"
- Global $calibrate_ = 'Calibrer'
- Global $calibrateexp_ = 'Calibrer peut resoudre des probl�mes de clics de souris'
- Global $calibrateexp1_ = 'Lancez une nouvelle session de WoW dont les param�tres videos de r�solution sont en 800x600. Puis attachez cette fen�tre avec le bouton suivant :'
- Global $clickonwowcalib_ = 'Cliquez sur la nouvelle fen�tre de WoW de resolution 800x600'
- Global $failedtocalib_ = "WoW n'a pas pu �tre calibr�"
- Global $wowcalibrated_ = 'WoW a �t� calibr�'
- Global $borderwidth_ = "Largeur de bordure"
- Global $titleheight_ = "Hauteur du titre"
- Global $calibrateexp2_ = "Si vous avez des r�sultats negatifs ou superieurs � 15/30, recommencez le calibrage."
- Global $windowsize_ = 'Taille de la fen�tre'
- Global $windowsizeexp_ = 'Nombre de lignes (minimum 3) :'
- Global $reloglogin_ = 'Reconnexions :'
- Global $relogchar_ = 'Selections personnage :'
- Global $rename_ = 'Fen�tre WoW'
- Global $renameexp_ = 'Renommer la fen�tre de WoW'
- Global $windowposexp_ = 'Changer la position de la fen�tre'
- Global $windowsizeexp_ = 'Changer la taille de la fen�tre'
- Global $move_ = 'Positionner la fen�tre'
- Global $move_grid_ = 'Grille automatique'
- Global $move_xy_ = 'Choisir XY'
- EndIf
- EndFunc
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\lang.au3>
- ; ----------------------------------------------------------------------------
- SetLanguage ()
- SetPrivilege("SeDebugPrivilege", 1)
- Global $reloggername = 'Relogger'
- Global $version = 'Beta 5'
- Global $class[99] = [0]
- Global $screen[99] = [0]
- Global $popupcount=0
- For $k=1 TO 98
- $status[$k] = $notattached_
- $relog[$k] = 0
- $relogchar[$k] = 0
- $class[$k] = IniRead ("settings.ini", "Settings "&$k, "Class", "")
- Next
- Opt("GUIOnEventMode", 1)
- Opt("TrayOnEventMode", 1)
- Opt("TrayMenuMode",1)
- $showitem = TrayCreateItem($show_ & " ")
- $startallitem = TrayCreateItem($startall_&" ")
- $stopallitem = TrayCreateItem($stopall_&" ")
- $exititem = TrayCreateItem($exit_&" ")
- TrayItemSetOnEvent ( $startallitem, "StartAll" )
- TrayItemSetOnEvent ( $stopallitem, "StopAll" )
- TrayItemSetOnEvent ( $exititem , "itemexit" )
- TrayItemSetOnEvent ( $showitem , "maximize" )
- TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE, "maximize")
- SetPrivilege("SeDebugPrivilege", 1)
- CreateGUI()
- While 1
- CheckAttach ()
- GetScreens ()
- LoadList ()
- UpdateStats ()
- Sleep ("2000")
- For $k=1 To IniRead ("settings.ini", "Global", "Number", 0)
- If $started[$k]=1 And $relog[$k]<IniRead ("settings.ini", "Settings "&$k, "Relogs",0) And TimerDiff ($timer[$k])<IniRead("settings.ini", "Settings "&$k, "Time", 0)*60*60*1000 Then
- Switch $screen[$k]
- Case $home_
- ClearPopup ($k)
- Sleep ("3000")
- Login ($k)
- Case $char_
- Charselect ($k)
- Case $popup_
- ClearPopup ($k)
- Sleep ("3000")
- Login ($k)
- Case $ig_
- GetChar ($k)
- $popupcount = 0
- EndSwitch
- Else
- $started[$k]=0
- $status[$k]=$notstarted_
- EndIf
- Next
- Sleep ("6000")
- WEnd
- ; ----------------------------------------------------------------------------
- ; <AUT2EXE INCLUDE-END: C:\Program Files\AutoIt3\Scripts\WoW\Relogger\V1\Core.au3>
- ; ----------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement