Trở về
Tham gia nhóm m Autoit đ đưc hưng dn và gii đáp trc tiếp : http://fb.com/groups/autoitscript
Tin tức công nghệ  -  Thủ thuật lập trình

Bộ sưu tập mã nguồn & UDF Autoit

  • AutoClick
  • #include <WinAPI.au3>
    #include <GUIConstantsEx.au3>
    Global $Struct = DllStructCreate($tagPoint)
    Global $hwnd,$hien=True,$chay=False,$button,$x,$y
    Const $WM_MOUSEMOVE= 0x200
    Const $WM_LBUTTONDOWN = 0x201
    Const $WM_LBUTTONUP = 0x202
    Const $WM_MBUTTONDOWN = 0x207
    Const $WM_MBUTTONUP = 0x208
    Const $WM_RBUTTONDOWN = 0x204
    Const $WM_RBUTTONUP = 0x205
    Const $WM_NCLBUTTONDOWN = 0xA1
    Const $WM_LBUTTONDBLCLK = 0x203
    Const $WM_MBUTTONDBLCLK = 0x209
    Const $WM_RBUTTONDBLCLK = 0x206
    Const $MK_LBUTTON = 0x1
    Const $MK_MBUTTON = 0x10
    Const $MK_RBUTTON = 0x2
    ;TrayIcon
    Opt("GUIOnEventMode",1)
    ;Opt("TrayIconHide",1)
    Opt("TrayMenuMode",1)
    Opt("TrayOnEventMode",1)
    TraySetIcon("Shell32.dll",29)
    TraySetOnEvent(-13,"anhien") ;khi click th� hi?n GUI
    TraySetOnEvent(-11,"info") ;khi di chuy?n chu?t qua
    TraySetClick(1)
    TraySetState()
    $trBD=TrayCreateItem("Bat dau")
    TrayItemSetOnEvent(-1,"batdau")
    $trah=TrayCreateItem("An/Hien")
    TrayItemSetOnEvent(-1,"anhien")
    TrayCreateItem("")
    $trth=TrayCreateItem("Thoat")
    TrayItemSetOnEvent(-1,"thoat")
    ;=>TrayIcon
    HotKeySet("{esc}","thoat")
    HotKeySet("^a","getwin")
    HotKeySet("^s","batdau")
    GUICreate("AutoClick",200,150,@DesktopWidth-210,@DesktopHeight-350,0x2000)
    GUISetState()
    GUICtrlCreateLabel("Toa do:",5,5,50,15)
    $tdx=GUICtrlCreateLabel("x",55,5,70,15)
    $tdy=GUICtrlCreateLabel("y",125,5,70,15)
    GUICtrlCreateLabel("Tu dong ",5,30,50,15)
    $but=GUICtrlCreateCombo("Left Click",60,27,100,15)
    GUICtrlSetData(-1,"Left Double Click")
    GUICtrlSetData(-1,"Middle Click")
    GUICtrlSetData(-1,"Middle Double Click")
    GUICtrlSetData(-1,"Right Click")
    GUICtrlSetData(-1,"Right Double Click")
    GUICtrlSetData(-1,"Mouse Move")
    GUICtrlCreateLabel("Sau ",5,60,20,15)
    $thoigian=GUICtrlCreateInput("3000",30,58,130,15)
    GUICtrlCreateLabel("ms",170,60,50,15)
    $cmdbd=GUICtrlCreateButton("Bat dau",5,80,80,30)
    GUICtrlSetOnEvent(-1,"batdau")
    GUICtrlCreateButton("Thoat",85,80,80,30)
    GUICtrlSetOnEvent(-1,"thoat")
    GUICtrlCreateButton("-",170,80,15,15)
    GUICtrlSetOnEvent(-1,"anhien")
    GUICtrlSetTip(-1,"An chuong trinh xuong Taskbar")
    GUICtrlCreateButton("?",170,95,15,15)
    GUICtrlSetOnEvent(-1,"huongdan")
    GUICtrlSetTip(-1,"Huong dan cai j nhi?")
    huongdan()
    While 1
    Sleep(1000)
    WEnd
    Func batdau()
    If Not $hwnd Then
    MsgBox(0,"Chu y","Di chuot vao cua so roi an Ctrl+A de lay cua so")
    Return 0
    EndIf
    ToolTip("")
    TrayItemSetState($trBD,4)
    If GUICtrlRead($cmdbd)="Bat dau" Then
    GUICtrlSetData($cmdbd,"Dung")
    TrayItemSetText($trbd,"Dung")
    Else
    GUICtrlSetData($cmdbd,"Bat dau")
    TrayItemSetText($trbd,"Bat dau")
    EndIf
    $chay=Not $chay
    $button=GUICtrlRead($but)
    pclick($x,$y,$button)
    If $chay Then
    timer(1)
    Else
    timer(0)
    EndIf
    EndFunc
    Func timer($t)
    $time=GUICtrlRead($thoigian)
    If $time="" Then $time=0
    $time=Int($time)
    If $t=1 Then
    AdlibRegister("tuclick",$time)
    Else
    AdlibUnRegister("tuclick")
    EndIf
    EndFunc
    Func huongdan()
    ToolTip("Di chuot den toa do can click va an Ctrl+A de lay toa do!",10,10,"Chu y")
    EndFunc
    Func tuclick()
    pclick($x,$y,$button)
    EndFunc
    Func Pos()
    DllStructSetData($Struct, "x", MouseGetPos(0))
    DllStructSetData($Struct, "y", MouseGetPos(1))
    EndFunc ;==>Pos
    Func getwin()
    Pos()
    $hwnd = _WinAPI_WindowFromPoint($Struct)
    _WinAPI_ScreenToClient($hwnd,$Struct)
    $x=DllStructGetData($Struct,"x")
    $y=DllStructGetData($Struct,"y")
    GUICtrlSetData($tdx,$x)
    GUICtrlSetData($tdy,$y)
    EndFunc
    ;click
    Func pclick($x=0,$y=0,$button='Left Click')
    $lParam = ($y * 65536) + ($x)
    Switch $button
    Case $button='Left Click'
    _WinAPI_PostMessage($hwnd, $WM_LBUTTONDOWN, $MK_LBUTTON,$lParam)
    _WinAPI_PostMessage($hwnd, $WM_LBUTTONUP, 0,$lParam)
    Case $button='Left Double Click'
    _WinAPI_PostMessage($hwnd, $WM_LBUTTONDOWN, $MK_LBUTTON,$lParam)
    _WinAPI_PostMessage($hwnd, $WM_LBUTTONUP, 0,$lParam)
    _WinAPI_PostMessage($hwnd, $WM_LBUTTONDBLCLK, $MK_LBUTTON,$lParam)
    _WinAPI_PostMessage($hwnd, $WM_LBUTTONUP, 0,$lParam)
    Case $button='Middle Click'
    _WinAPI_PostMessage($hwnd, $WM_MBUTTONDOWN, $MK_MBUTTON,$lParam)
    _WinAPI_PostMessage($hwnd, $WM_MBUTTONUP, 0,$lParam)
    Case $button='Middle Double Click'
    _WinAPI_PostMessage($hwnd, $WM_MBUTTONDOWN, $MK_MBUTTON,$lParam)
    _WinAPI_PostMessage($hwnd, $WM_MBUTTONUP, 0,$lParam)
    _WinAPI_PostMessage($hwnd, $WM_MBUTTONDBLCLK, $MK_MBUTTON,$lParam)
    _WinAPI_PostMessage($hwnd, $WM_MBUTTONUP, 0,$lParam)
    Case $button='Right Click'
    _WinAPI_PostMessage($hwnd, $WM_RBUTTONDOWN, $MK_RBUTTON,$lParam)
    _WinAPI_PostMessage($hwnd, $WM_RBUTTONUP, 0,$lParam)
    Case $button='Right Double Click'
    _WinAPI_PostMessage($hwnd, $WM_RBUTTONDOWN, $MK_RBUTTON,$lParam)
    _WinAPI_PostMessage($hwnd, $WM_RBUTTONUP, 0,$lParam)
    _WinAPI_PostMessage($hwnd, $WM_RBUTTONDBLCLK, $MK_RBUTTON,$lParam)
    _WinAPI_PostMessage($hwnd, $WM_RBUTTONUP, 0,$lParam)
    Case $button='Mouse Move'
    _WinAPI_PostMessage($hwnd, $WM_MOUSEMOVE, 0,$lParam)
    _WinAPI_PostMessage($hwnd, $WM_MOUSEMOVE, 0,$lParam)
    EndSwitch
    EndFunc
    ;=>click
    Func anhien()
    info()
    TrayItemSetState($trah,4)
    $hien=Not $hien
    If $hien=True Then
    GUISetState(@SW_SHOW)
    Else
    GUISetState(@SW_HIDE)
    EndIf
    EndFunc
    Func info()
    TrayTip("AutoClick","Tu dong click khong chiem chuot",3)
    EndFunc
    Func thoat()
    Exit
    EndFunc
  • BlockFile
  • Func BlockFile($sFile)
    Local $ErrorMessage = ""
    If Not FileExists($sFile) Then
    $ErrorMessage = _Iif(_WinAPI_PathIsDirectory($sFile), "Thư mục không tồn tại", "Tập tin không tồn tại")
    SetError(1)
    Return $ErrorMessage
    EndIf
    Local $hFile = _WinAPI_CreateFileEx($sFile, $OPEN_EXISTING, BitOR($GENERIC_READ, $GENERIC_WRITE), 0, _Iif(_WinAPI_PathIsDirectory($sFile), $FILE_FLAG_BACKUP_SEMANTICS, 0))
    If @error Or $hFile = -1 Then
    $ErrorMessage = "Không thể khóa tập tin này"
    If _WinAPI_PathIsDirectory($sFile) Then $ErrorMessage = "Không thể khóa thư mục này"
    If _WinAPI_GetLastError() = 32 Then $ErrorMessage &amp;= @CRLF &amp; "Nguyên nhân: tập tin hoặc thư mục đang được sử dụng"
    SetError(1)
    Return $ErrorMessage
    EndIf
    Return $hFile
    EndFunc ;==&gt;BlockFile
  • BruteForce
  • #include <Timers.au3>
    #include <Constants.au3>
    Global $count
    $iBruteLenght=3
    $count=0
    for $i=1 to $iBruteLenght
    $count+=62^$i
    next
    $count-=1
    $icount=$count
    ProgressOn("Progress Meter", "Increments every second")
    _BruteForce('__BruteFunc',$iBruteLenght)
    while 1
    sleep(100)
    wend
    Func _BruteForce($sFunktionName = "__BruteFunc", $iBruteLenght = 4, $sCharSet = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
    Local $aBruteArray[$iBruteLenght]
    Local $aCharSet = StringSplit($sCharSet, "", 2)
    Local $iCharSetCount = UBound($aCharSet) - 1
    Local $sBruteString = ""
    __InitBruteArray($aBruteArray)
    ConsoleWrite("Beginne mit Bruteforce" & @CRLF)
    Do
    $sBruteString = ""
    $aBruteArray[0] += 1;Erste Array-Element wird hoch gesetzt
    For $i = 0 To $iBruteLenght - 1;Array wird aktualisiert
    If $aBruteArray[$i] > $iCharSetCount Then
    $aBruteArray[$i] = 0
    $aBruteArray[$i + 1] += 1
    ElseIf $aBruteArray[$i] = -1 Then
    ExitLoop (1)
    EndIf
    Next
    For $i = 0 To $iBruteLenght - 1;String wird gebildet
    If $aBruteArray[$i] > -1 Then
    $sBruteString &= $aCharSet[$aBruteArray[$i]]
    Else
    ExitLoop 1
    EndIf
    Next
    Call($sFunktionName, $sBruteString,$iBruteLenght)
    Until StringRegExp($sBruteString, "\Q" & $aCharSet[$iCharSetCount] & "\E{" & $iBruteLenght & "}")
    ConsoleWrite("Brute Fore abgeschlossen" & @CRLF)
    EndFunc ;==>_BruteForce
    Func __BruteFunc($sString,$iBruteLenght)
    ProgressSet(100/$icount*($icount-$count), 'Processed: '&$icount-$count& '/'&$icount&' current: ' &$sString)
    ;ShellExecute("rar.exe",' x -p'&$sString&' "'&@ScriptDir&'\F.rar"','','',@SW_HIDE)
    $count-=1
    EndFunc ;==>__BruteFunc
    Func __InitBruteArray(ByRef $aBruteArray)
    Dim $sCharSet
    For $i = 0 To UBound($aBruteArray) - 1
    $aBruteArray[$i] = -1
    Next
    EndFunc ;==>__InitBruteArray
  • DNSChange
  • Global $objWMIService, $strIPAddress, $wbemFlagReturnImmediately, $wbemFlagForwardOnly, $NetConnectionID, $Index
    Global $strComputer = @ComputerName
    $objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")
    If $objWMIService = 0 Then
    MsgBox(0, "WMI Error", "Please Fix WMI")
    ElseIf $objWMIService <> 0 Then
    ;~ RunWait(@ComSpec & " /c netsh interface ip set dns "&'"'&_GetIndex()&'"'&" static 4.2.2.4")
    ;~ RunWait(@ComSpec & " /c netsh interface ip add dns "&'"'&_GetIndex()&'"'&" 4.2.2.2")
    RunWait(@ComSpec & " /c netsh interface ip set dns " & '"' & _GetIndex() & '"' & " static 8.8.8.8")
    RunWait(@ComSpec & " /c netsh interface ip add dns " & '"' & _GetIndex() & '"' & " 8.8.4.4")
    ;~ RunWait(@ComSpec & " /c netsh interface ip delete dns "&'"'&_GetIndex()&'"'&" all")
    EndIf
    Func _GetIndex()
    $colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE', "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If IsObj($colItems) Then
    For $objItem In $colItems
    $strIPAddress = $objItem.IPAddress(0)
    $IpAddressLen = StringLeft($strIPAddress, 3)
    If $IpAddressLen = "192" Then
    $strIndex = $objItem.Index
    If StringLen($strIndex) = 1 Then $Index = "000" & $strIndex
    If StringLen($strIndex) = 2 Then $Index = "00" & $strIndex
    _NetConnectionID()
    Return $NetConnectionID
    EndIf
    Next
    EndIf
    EndFunc ;==>_GetIndex
    Func _NetConnectionID()
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter where Index=" & $Index, "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If IsObj($colItems) Then
    For $objItem In $colItems
    $NetConnectionID = $objItem.NetConnectionID
    Next
    Else
    EndIf
    EndFunc ;==>_NetConnectionID
  • Execute
  • #include-once
    #include<string .au3="">
    #include<array .au3="">
    #region _Execute-Fuction by Shadow992 (http://www.elitepvpers.de)
    Global $error_execute = 0
    Func _Execute($string_execute)
    $string_execute = $string_execute &amp; @CRLF
    $string_execute = StringReplace($string_execute, "@error", "$error_execute", 0, 2)
    Local $temp211_execute = ""
    Local $temp2_execute = ""
    Local $temp_execute = ""
    Local $number_execute = 0
    Local $number2_execute = 0
    Local $ifs_found_execute = 0
    Local $while_founds_execute = 0
    Local $new_comands_execute = ""
    Local $var_execute = _StringExplode($string_execute, @CRLF)
    Local $i_execute = 0
    Local $found_execute, $else_found_execute, $while_found_execute, $exit_loop = 0
    Dim $var2_execute[UBound($var_execute)]
    Local $ua_execute = 0
    While $ua_execute &lt; UBound($var_execute)
    If StringLeft($var_execute[$ua_execute], 1) = " " Then
    Do
    $var_execute[$ua_execute] = StringTrimLeft($var_execute[$ua_execute], 1)
    Until StringLeft($var_execute[$ua_execute], 1) &lt;&gt; " "
    EndIf
    $var2_execute[$ua_execute] = StringStripWS($var_execute[$ua_execute], 8)
    $ua_execute += 1
    WEnd
    While $i_execute &lt; UBound($var_execute)
    ;~ MsgBox(0, "", $var2_execute[$i_execute])
    If StringInStr($var2_execute[$i_execute], ";") &lt;&gt; 1 Then
    If StringInStr($var2_execute[$i_execute], "exit", 2) = 1 Then
    if (StringLen($var2_execute[$i_execute]) = 4) Then
    Exit
    ElseIf StringLen($var2_execute[$i_execute]) = 8 And StringInStr($var2_execute[$i_execute], "exitloop", 2) = 1 Then
    $exit_loop = 1
    EndIf
    ElseIf StringInStr($var2_execute[$i_execute], "if", 2) = 1 Then
    $found_execute = StringRegExp($var_execute[$i_execute], "(?i)if (.*&lt;&gt;.*)|(.*=.*)|(.*&lt;.*)|(.*&gt;.*)|(.*&gt;=.*)|(.*&lt;=.*)|(.*==.*)then", 3)
    ;~ _ArrayDisplay($found_execute)
    If IsArray($found_execute) Then
    $number_execute = 0
    if (StringLen($found_execute[0]) &gt; 3) Then
    $found_execute[0] = StringReplace($found_execute[0], "then", "", 0, 0)
    $temp2_execute = Execute($found_execute[0])
    $error_execute = @error
    $number_execute = 0
    Else
    For $ia_execute = 0 To UBound($found_execute)-1
    if (StringLen($found_execute[$ia_execute]) &gt; 3) Then
    For $aa_execute = 0 To StringInStr($found_execute[$ia_execute], "if", 0)
    $found_execute[$ia_execute] = StringTrimLeft($found_execute[$ia_execute], 1)
    Next
    $found_execute[$ia_execute] = StringReplace($found_execute[$ia_execute], "then", "", 0, 0)
    ;~ Msgbox(0,"test2",$found_execute[1])
    $temp2_execute = Execute($found_execute[$ia_execute])
    $error_execute = @error
    $number_execute = $ia_execute
    EndIf
    Next
    ;~ Msgbox(0,"test1",$found_execute[1])
    EndIf
    If $temp2_execute &lt;&gt; "True" Then
    $ifs_found_execute = 1
    $else_found_execute = 0
    For $a_execute = $i_execute + 1 To UBound($var2_execute) - 1
    If StringInStr($var2_execute[$a_execute], "if", 2) = 1 Then $ifs_found_execute += 1
    If StringInStr($var2_execute[$a_execute], "endif", 2) = 1 Then $ifs_found_execute -= 1
    If StringInStr($var2_execute[$a_execute], "else", 2) = 1 And $ifs_found_execute = 1 Then
    $number_execute = $a_execute
    ExitLoop
    EndIf
    If $ifs_found_execute = 0 Then
    $number_execute = $a_execute
    ExitLoop
    EndIf
    Next
    $i_execute = $number_execute
    Else
    $else_found_execute = 0
    $ifs_found_execute = 1
    For $a_execute = $i_execute + 1 To UBound($var_execute) - 1
    If StringInStr($var2_execute[$a_execute], "if", 2) = 1 Then $ifs_found_execute += 1
    If StringInStr($var2_execute[$a_execute], "endif", 2) = 1 Then $ifs_found_execute -= 1
    If StringInStr($var2_execute[$a_execute], "else", 2) = 1 And $ifs_found_execute = 1 Then
    $number2_execute = $a_execute
    $else_found_execute = 1
    EndIf
    If $ifs_found_execute = 0 Then
    $number_execute = $a_execute
    ExitLoop
    EndIf
    Next
    If $else_found_execute = 1 Then
    $new_comands_execute = ""
    For $ai_execute = $i_execute + 1 To $number2_execute - 1
    $new_comands_execute &amp;= $var_execute[$ai_execute] &amp; @CRLF
    Next
    _Execute($new_comands_execute)
    $i_execute = $number_execute
    EndIf
    EndIf
    Else
    Execute($var_execute[$i_execute])
    $error_execute = @error
    EndIf
    ElseIf StringInStr($var2_execute[$i_execute], "while", 2) = 1 Then
    $found_execute = StringRegExp($var_execute[$i_execute], "(?i)while (.*=.*)|(.*&lt;.*)|(.*&gt;.*)|(.*&gt;=.*)|(.*&lt;=.*)|(.*&lt;&gt;.*)", 3)
    If IsArray($found_execute) Then
    $number_execute = 0
    $while_found_execute = 1
    For $o_execute = 0 To UBound($found_execute) - 1
    if (StringInStr($found_execute[$o_execute], "while", 2) = 1) Then
    $number2_execute = $o_execute
    ExitLoop
    EndIf
    Next
    $temp2_execute = Execute($found_execute[$number2_execute])
    $error_execute = @error
    If $temp2_execute = "True" Then
    For $a_execute = $i_execute + 1 To UBound($var_execute) - 1
    If StringInStr($var2_execute[$a_execute], "while", 2) = 1 Then $while_found_execute += 1
    If StringInStr($var2_execute[$a_execute], "wend", 2) = 1 Then $while_found_execute -= 1
    If $while_found_execute = 0 Then
    $number_execute = $a_execute
    ExitLoop
    EndIf
    Next
    $new_comands_execute = ""
    For $u_execute = $i_execute + 1 To $number_execute - 1
    $new_comands_execute &amp;= $var_execute[$u_execute] &amp; @CRLF
    Next
    While $temp2_execute = "True"
    _Execute($new_comands_execute)
    $temp2_execute = Execute($found_execute[$number2_execute])
    $error_execute = @error
    If $exit_loop = 1 Then
    $exit_loop = 0
    ExitLoop
    EndIf
    WEnd
    $i_execute = $number_execute
    Else
    $while_found_execute = 1
    For $a_execute = $i_execute + 1 To UBound($var_execute) - 1
    If StringInStr($var2_execute[$a_execute], "while", 2) = 1 Then $while_found_execute += 1
    If StringInStr($var2_execute[$a_execute], "wend", 2) = 1 Then $while_found_execute -= 1
    If $while_found_execute = 0 Then
    $i_execute = $a_execute
    ExitLoop
    EndIf
    Next
    EndIf
    Else
    Execute($var_execute[$i_execute])
    $error_execute = @error
    EndIf
    ElseIf StringInStr($var2_execute[$i_execute], "for", 2) = 1 Then
    $found_execute = StringRegExp($var_execute[$i_execute], "(?i)for (\x24\w*\x20*)=(\x20*\d*\x20*)to(\x20*\d*\x20*)step(\x20*\d*\x20*)", 3)
    _ArrayDisplay($found_execute)
    If IsArray($found_execute) Then
    $number_execute = 0
    $while_found_execute = 1
    $found_execute[0] = StringTrimLeft($found_execute[0], 1)
    Assign($found_execute[0], $found_execute[1], 2)
    $temp2_execute = Execute($found_execute[$number2_execute])
    $error_execute = @error
    For $a_execute = $i_execute + 1 To UBound($var_execute) - 1
    If StringInStr($var2_execute[$a_execute], "for", 2) = 1 Then $while_found_execute += 1
    If StringInStr($var2_execute[$a_execute], "next", 2) = 1 Then $while_found_execute -= 1
    If $while_found_execute = 0 Then
    $number_execute = $a_execute
    ExitLoop
    EndIf
    Next
    $new_comands_execute = ""
    For $u_execute = $i_execute + 1 To $number_execute - 1
    $new_comands_execute &amp;= $var_execute[$u_execute] &amp; @CRLF
    Next
    Do
    _Execute($new_comands_execute)
    $error_execute = @error
    If $exit_loop = 1 Then
    $exit_loop = 0
    ExitLoop
    EndIf
    Assign($found_execute[0], Eval($found_execute[0]) + Execute($found_execute[3]), 2)
    Until Eval($found_execute[0]) &gt;= Execute($found_execute[2])
    $i_execute = $number_execute
    Else
    $found_execute = StringRegExp($var_execute[$i_execute], "(?i)for (\x24\w*\x20*)=(\x20*\d*\x20*)to(\x20*\d*\x20*)", 3)
    _ArrayDisplay($found_execute)
    If IsArray($found_execute) Then
    $number_execute = 0
    $while_found_execute = 1
    $found_execute[0] = StringTrimLeft($found_execute[0], 1)
    Assign($found_execute[0], $found_execute[1], 2)
    $temp2_execute = Execute($found_execute[$number2_execute])
    $error_execute = @error
    For $a_execute = $i_execute + 1 To UBound($var_execute) - 1
    If StringInStr($var2_execute[$a_execute], "for", 2) = 1 Then $while_found_execute += 1
    If StringInStr($var2_execute[$a_execute], "next", 2) = 1 Then $while_found_execute -= 1
    If $while_found_execute = 0 Then
    $number_execute = $a_execute
    ExitLoop
    EndIf
    Next
    $new_comands_execute = ""
    For $u_execute = $i_execute + 1 To $number_execute - 1
    $new_comands_execute &amp;= $var_execute[$u_execute] &amp; @CRLF
    Next
    Do
    _Execute($new_comands_execute)
    $error_execute = @error
    If $exit_loop = 1 Then
    $exit_loop = 0
    ExitLoop
    EndIf
    Assign($found_execute[0], Eval($found_execute[0]) + 1)
    Until Eval($found_execute[0]) &gt;= Execute($found_execute[2])
    $i_execute = $number_execute
    EndIf
    EndIf
    Else
    If StringInStr($var2_execute[$i_execute], "$") = 1 Then
    $temp_execute = StringRegExp($var2_execute[$i_execute], "(\x24\w*)=", 3)
    If IsArray($temp_execute) Then
    $var_execute[$i_execute] = StringRegExpReplace($var_execute[$i_execute], "(\x24\w*\x20*)=", "")
    $temp211_execute = Execute($var_execute[$i_execute])
    $error_execute = @error
    Assign(StringTrimLeft($temp_execute[0], 1), $temp211_execute, 2)
    Else
    $temp_execute = StringRegExp($var2_execute[$i_execute], "(\x24\w*\x2b)=", 3)
    If IsArray($temp_execute) Then
    $var_execute[$i_execute] = StringRegExpReplace($var_execute[$i_execute], "(\x24\w*\x20*\x2b)=", "")
    $temp_execute[0] = StringTrimRight(StringTrimLeft($temp_execute[0], 1), 2)
    $temp211_execute = Execute($var_execute[$i_execute]) + Eval($temp_execute[0])
    Assign($temp_execute[0], $temp211_execute, 2)
    Else
    $temp_execute = StringRegExp($var2_execute[$i_execute], "(\x24\w*\x2d)=", 3)
    If IsArray($temp_execute) Then
    $var_execute[$i_execute] = StringRegExpReplace($var_execute[$i_execute], "(\x24\w*\x20*\x2d)=", "")
    $temp_execute[0] = StringTrimRight(StringTrimLeft($temp_execute[0], 1), 1)
    $temp211_execute = Eval($temp_execute[0]) - Execute($var_execute[$i_execute])
    Assign($temp_execute[0], $temp211_execute, 2)
    Else
    $temp_execute = StringRegExp($var2_execute[$i_execute], "(\x24\w*\x26)=", 3)
    If IsArray($temp_execute) Then
    $var_execute[$i_execute] = StringRegExpReplace($var_execute[$i_execute], "(\x24\w*\x20*\x26)=", "")
    $temp_execute[0] = StringTrimRight(StringTrimLeft($temp_execute[0], 1), 1)
    $temp211_execute = Eval($temp_execute[0]) &amp; Execute($var_execute[$i_execute])
    Assign($temp_execute[0], $temp211_execute, 2)
    Else
    $temp_execute = StringRegExp($var2_execute[$i_execute], "(\x24\w*\x2f)=", 3)
    If IsArray($temp_execute) Then
    $var_execute[$i_execute] = StringRegExpReplace($var_execute[$i_execute], "(\x24\w*\x20*\x2f)=", "")
    $temp_execute[0] = StringTrimRight(StringTrimLeft($temp_execute[0], 1), 1)
    $temp211_execute = Eval($temp_execute[0]) / Execute($var_execute[$i_execute])
    Assign($temp_execute[0], $temp211_execute, 2)
    Else
    $temp_execute = StringRegExp($var2_execute[$i_execute], "(\x24\w*\x2a)=", 3)
    If IsArray($temp_execute) Then
    $var_execute[$i_execute] = StringRegExpReplace($var_execute[$i_execute], "(\x24\w*\x20*\x2a)=", "")
    $temp_execute[0] = StringTrimRight(StringTrimLeft($temp_execute[0], 1), 1)
    $temp211_execute = Eval($temp_execute[0]) * Execute($var_execute[$i_execute])
    Assign($temp_execute[0], $temp211_execute, 2)
    Else
    $temp_execute = StringRegExp($var2_execute[$i_execute], "(\x24\w*\x5e)=", 3)
    If IsArray($temp_execute) Then
    $var_execute[$i_execute] = StringRegExpReplace($var_execute[$i_execute], "(\x24\w*\x20*\x5e)=", "")
    $temp_execute[0] = StringTrimRight(StringTrimLeft($temp_execute[0], 1), 1)
    $temp211_execute = Eval($temp_execute[0]) ^ Execute($var_execute[$i_execute])
    Assign($temp_execute[0], $temp211_execute, 2)
    Else
    Execute($var_execute[$i_execute])
    $error_execute = @error
    EndIf
    EndIf
    EndIf
    EndIf
    EndIf
    EndIf
    EndIf
    Else
    Execute($var_execute[$i_execute])
    $error_execute = @error
    EndIf
    EndIf
    EndIf
    $i_execute += 1
    WEnd
    EndFunc ;==&gt;_Execute
    #endregion _Execute-Fuction by Shadow992 (http://www.elitepvpers.de)
    </array></string>
  • GetAVInfo
  • Func _GetAVInfo($sComputerName = ".")
    Local $aReturn[4]
    Local $oWMIService = ObjGet("winmgmts:\\" &amp; $sComputerName &amp; "\root\SecurityCenter2")
    If Not @error Then
    Local $colItems = $oWMIService.ExecQuery("Select * From AntiVirusProduct", "WQL", $___WMI_WBEMFLAGFORWARDONLY + $___WMI_WBEMFLAGRETURNIMMEDIATELY)
    If IsObj($colItems) Then
    For $colItem In $colItems
    $aReturn[0] = $colItem.displayName
    $aReturn[1] = $colItem.productState
    $aReturn[2] = $colItem.pathToSignedProductExe
    $aReturn[3] = $colItem.pathToSignedReportingExe
    Next
    Switch StringMid(Hex($aReturn[1]), 5, 2)
    Case "00", "01"
    $aReturn[1] = "Disabled"
    Case "10", "11"
    $aReturn[1] = "Enabled"
    EndSwitch
    Else ; Error.
    SetError(2, 0)
    EndIf
    Else ; Error.
    SetError(1, 0)
    EndIf
    Return $aReturn
    EndFunc ;==&gt;_GetAVInfo
  • GetHardwareId
  • #include <Crypt.au3>
    Local $sUniqueID = _GetHardwareID(2) ; $UHID_All in APIConstants.au3.
    MsgBox(0,'','UniqueID: ' & $sUniqueID & @CRLF & _
    'Flags used: ' & @extended & @CRLF)
    ; #FUNCTION# ====================================================================================================================
    ; Name ..........: _GetHardwareID
    ; Description ...: Generates a unique hardware identifier (ID) for the local computer.
    ; Syntax ........: _GetHardwareID([$iFlags = Default])
    ; Parameters ....: $iFlags - [optional] The flags that specifies what information would be used to generate ID.
    ; This parameter can be one or more of the following values.
    ;
    ; $UHID_MB (0)
    ; Uses information about your motherboard. This flag is used by default regardless of whether specified or not.
    ;
    ; $UHID_BIOS (1)
    ; Uses information about the BIOS.
    ;
    ; $UHID_CPU (2)
    ; Uses information about the processor(s).
    ;
    ; $UHID_HDD (4)
    ; Uses information about the installed hard drives. Any change in the configuration disks will change ID
    ; returned by this function. Taken into account only non-removable disks.
    ;
    ; $UHID_All (7)
    ; The sum of all the previous flags. Default is $UHID_MB (0).
    ;
    ; Return values..: Success - The string representation of the ID. @extended returns the value that contains a combination of flags
    ; specified in the $iFlags parameter. If flag is set, appropriate information is received successfully,
    ; otherwise fails. The function checks only flags that were specified in the $iFlags parameter.
    ; Failure - Empty string and sets @error to non-zero.
    ; Author.........: guinness with the idea by Yashied (_WinAPI_UniqueHardwareID - WinAPIEx.au3)
    ; Remarks .......: The constants above can be found in APIConstants.au3. It also requires Crypt.au3 to be included.
    ; Example........: Yes
    ; ===============================================================================================================================
    Func _GetHardwareID($iFlags = Default)
    If $iFlags = Default Then
    $iFlags = 0
    EndIf
    Local $aSystem[4] = [3, 'Identifier', 'VideoBiosDate', 'VideoBiosVersion'], _
    $iResult = 0, _
    $sOutput = '', $sText = ''
    For $i = 1 To $aSystem[0]
    $sOutput &= RegRead('HKEY_LOCAL_MACHINE64\HARDWARE\DESCRIPTION\System\', $aSystem[$i])
    Next
    $sOutput &= @CPUArch
    $sOutput = StringStripWS($sOutput, 8)
    If BitAND($iFlags, 0x0001) Then ; $UHID_BIOS
    Local $aBIOS[6] = [5, 'BaseBoardManufacturer', 'BaseBoardProduct', 'BaseBoardVersion', 'BIOSVendor', 'BIOSReleaseDate']
    $sText = ''
    For $i = 1 To $aBIOS[0]
    $sText &= RegRead('HKEY_LOCAL_MACHINE64\HARDWARE\DESCRIPTION\System\BIOS\', $aBIOS[$i])
    Next
    $sText = StringStripWS($sText, 8)
    If $sText Then
    $iResult += 0x0001
    $sOutput &= $sText
    EndIf
    EndIf
    If BitAND($iFlags, 0x0002) Then ; $UHID_CPU
    Local $aProcessor[4] = [3, 'ProcessorNameString', '~MHz', 'VendorIdentifier']
    $sText = ''
    For $i = 1 To $aProcessor[0]
    $sText &= RegRead('HKEY_LOCAL_MACHINE64\HARDWARE\DESCRIPTION\System\CentralProcessor\0\', $aProcessor[$i])
    Next
    $sText = StringStripWS($sText, 8)
    If $sText Then
    $iResult += 0x0002
    $sOutput &= $sText
    EndIf
    EndIf
    If BitAND($iFlags, 0x0004) Then ; $UHID_HDD
    Local $aDrives = DriveGetDrive('FIXED')
    $sText = ''
    If $aDrives <> '' Then
    For $i = 1 To $aDrives[0]
    $sText &= DriveGetSerial($aDrives[$i])
    Next
    EndIf
    $sText = StringStripWS($sText, 8)
    If $sText Then
    $iResult += 0x0004
    $sOutput &= $sText
    EndIf
    EndIf
    Local $sHash = StringTrimLeft(_Crypt_HashData($sOutput, $CALG_MD5), 2)
    If $sHash = '' Then
    Return SetError(4, 0, '')
    EndIf
    Return SetExtended($iResult, '{' & StringMid($sHash, 1, 8) & '-' & StringMid($sHash, 9, 4) & '-' & StringMid($sHash, 13, 4) & '-' & StringMid($sHash, 17, 4) & '-' & StringMid($sHash, 21, 12) & '}')
    EndFunc ;==>_GetHardwareID
  • GetTCPTable
  • #include <Array.au3>
    Global Enum $TCP_TABLE_BASIC_LISTENER, $TCP_TABLE_BASIC_CONNECTIONS, $TCP_TABLE_BASIC_ALL, $TCP_TABLE_OWNER_PID_LISTENER, $TCP_TABLE_OWNER_PID_CONNECTIONS, _
    $TCP_TABLE_OWNER_PID_ALL, $TCP_TABLE_OWNER_MODULE_LISTENER, $TCP_TABLE_OWNER_MODULE_CONNECTIONS, $TCP_TABLE_OWNER_MODULE_ALL
    ; $TCP_TABLE_OWNER_MODULE_... not working for now
    Global $aTcpTable = _WinAPI_GetTcpTable()
    _ArrayDisplay($aTcpTable, "TCP TABLE", -1, 0, "", "|", "IDX|STATE|STATE DESC|LOCAL IP|LOCAL PORT|REMOTE IP|REMOTE PORT")
    Global $aTcpTable_BL = _WinAPI_GetExtendedTcpTable($TCP_TABLE_BASIC_LISTENER)
    _ArrayDisplay($aTcpTable_BL, "Extended TCP TABLE - Listening only", -1, 0, "", "|", "IDX|STATE|STATE DESC|LOCAL IP|LOCAL PORT|REMOTE IP|REMOTE PORT")
    Global $aTcpTable_PID = _WinAPI_GetExtendedTcpTable($TCP_TABLE_OWNER_PID_ALL)
    _ArrayDisplay($aTcpTable_PID, "Extended TCP TABLE - PID included", -1, 0, "", "|", "IDX|STATE|STATE DESC|LOCAL IP|LOCAL PORT|REMOTE IP|REMOTE PORT|PID")
    ;~ Global $aTcpTable_Module = _WinAPI_GetExtendedTcpTable($TCP_TABLE_OWNER_MODULE_ALL)
    ;~ _ArrayDisplay($aTcpTable_Module, "Extended TCP TABLE - Module All", -1, 0, "", "|", "IDX|STATE|STATE DESC|LOCAL IP|LOCAL PORT|REMOTE IP|REMOTE PORT|PID|TIMESTAMP")
    Func _WinAPI_GetTcpTable()
    ;funkey 2012.12.14
    Local Const $aConnState[12] = ["CLOSED", "LISTENING", "SYN_SENT", "SYN_RCVD", "ESTABLISHED", "FIN_WAIT1", _
    "FIN_WAIT2", "CLOSE_WAIT", "CLOSING", "LAST_ACK", "TIME_WAIT", "DELETE_TCB"]
    Local $tMIB_TCPTABLE = DllStructCreate("dword[6]")
    Local $aRet = DllCall("Iphlpapi.dll", "DWORD", "GetTcpTable", "struct*", $tMIB_TCPTABLE, "DWORD*", 0, "BOOL", True)
    Local $dwSize = $aRet[2]
    $tMIB_TCPTABLE = DllStructCreate("DWORD[" & $dwSize / 4 & "]")
    $aRet = DllCall("Iphlpapi.dll", "DWORD", "GetTcpTable", "struct*", $tMIB_TCPTABLE, "DWORD*", $dwSize, "BOOL", True)
    If $aRet[0] <> 0 Then Return SetError(1)
    Local $iNumEntries = DllStructGetData($tMIB_TCPTABLE, 1, 1)
    Local $aRes[$iNumEntries][6]
    For $i = 0 To $iNumEntries - 1
    $aRes[$i][0] = DllStructGetData($tMIB_TCPTABLE, 1, 2 + $i * 5 + 0)
    $aRes[$i][1] = $aConnState[$aRes[$i][0] - 1]
    $aRet = DllCall("ws2_32.dll", "str", "inet_ntoa", "uint", DllStructGetData($tMIB_TCPTABLE, 1, 2 + $i * 5 + 1)) ; local IP / translate
    $aRes[$i][2] = $aRet[0]
    $aRet = DllCall("ws2_32.dll", "ushort", "ntohs", "uint", DllStructGetData($tMIB_TCPTABLE, 1, 2 + $i * 5 + 2)) ; local port / translate
    $aRes[$i][3] = $aRet[0]
    $aRet = DllCall("ws2_32.dll", "str", "inet_ntoa", "uint", DllStructGetData($tMIB_TCPTABLE, 1, 2 + $i * 5 + 3)) ; remote IP / translate
    $aRes[$i][4] = $aRet[0]
    If $aRes[$i][0] <= 2 Then
    $aRes[$i][5] = 0
    Else
    $aRet = DllCall("ws2_32.dll", "ushort", "ntohs", "uint", DllStructGetData($tMIB_TCPTABLE, 1, 2 + $i * 5 + 4)) ; remote port / translate
    $aRes[$i][5] = $aRet[0]
    EndIf
    Next
    Return $aRes
    EndFunc ;==>_WinAPI_GetTcpTable
    Func _WinAPI_GetExtendedTcpTable($iTableClass)
    ;funkey 2012.12.14
    Local Const $aConnState[12] = ["CLOSED", "LISTENING", "SYN_SENT", "SYN_RCVD", "ESTABLISHED", "FIN_WAIT1", _
    "FIN_WAIT2", "CLOSE_WAIT", "CLOSING", "LAST_ACK", "TIME_WAIT", "DELETE_TCB"]
    Local Const $AF_INET = 2
    Local $tTCPTABLE = 0, $iLoop = 0
    Switch Floor($iTableClass / 3)
    Case 0
    $tTCPTABLE = DllStructCreate("DWORD[6]")
    $iLoop = 5
    Case 1
    $tTCPTABLE = DllStructCreate("DWORD[7]")
    $iLoop = 6
    Case 2
    $tTCPTABLE = DllStructCreate("DWORD[7];INT64;UINT64[16]")
    $iLoop = 40
    EndSwitch
    Local $aRet = DllCall("Iphlpapi.dll", "DWORD", "GetExtendedTcpTable", "struct*", $tTCPTABLE, "DWORD*", 0, "BOOL", True, "ULONG", $AF_INET, "INT", $iTableClass, "ULONG", 0)
    Local $dwSize = $aRet[2]
    $tTCPTABLE = DllStructCreate("DWORD[" & $dwSize / 4 & "]")
    $aRet = DllCall("Iphlpapi.dll", "DWORD", "GetExtendedTcpTable", "struct*", $tTCPTABLE, "DWORD*", $dwSize, "BOOL", True, "ULONG", $AF_INET, "INT", $iTableClass, "ULONG", 0)
    If $aRet[0] <> 0 Then Return SetError(1)
    Local $iNumEntries = DllStructGetData($tTCPTABLE, 1, 1)
    If $iLoop = 40 Then
    Local $aRes[$iNumEntries][8]
    Else
    Local $aRes[$iNumEntries][$iLoop + 1]
    EndIf
    Local $iOffset = 2, $tTemp = 0
    If $iLoop = 40 Then $iOffset = 3
    For $i = 0 To $iNumEntries - 1
    $aRes[$i][0] = DllStructGetData($tTCPTABLE, 1, $iOffset + $i * $iLoop + 0)
    $aRes[$i][1] = $aConnState[$aRes[$i][0] - 1]
    $aRet = DllCall("ws2_32.dll", "str", "inet_ntoa", "uint", DllStructGetData($tTCPTABLE, 1, $iOffset + $i * $iLoop + 1)) ; local IP
    $aRes[$i][2] = $aRet[0]
    $aRet = DllCall("ws2_32.dll", "ushort", "ntohs", "uint", DllStructGetData($tTCPTABLE, 1, $iOffset + $i * $iLoop + 2)) ; local port
    $aRes[$i][3] = $aRet[0]
    $aRet = DllCall("ws2_32.dll", "str", "inet_ntoa", "uint", DllStructGetData($tTCPTABLE, 1, $iOffset + $i * $iLoop + 3)) ; remote IP
    $aRes[$i][4] = $aRet[0]
    If $aRes[$i][0] <= 2 Then
    $aRes[$i][5] = 0
    Else
    $aRet = DllCall("ws2_32.dll", "ushort", "ntohs", "uint", DllStructGetData($tTCPTABLE, 1, $iOffset + $i * $iLoop + 4)) ; remote port
    $aRes[$i][5] = $aRet[0]
    EndIf
    If $iLoop = 6 Or $iLoop = 40 Then
    $aRes[$i][6] = DllStructGetData($tTCPTABLE, 1, $iOffset + $i * $iLoop + 5)
    EndIf
    If $iLoop = 40 Then
    $tTemp = DllStructCreate("word[8]", DllStructGetPtr($tTCPTABLE, 1) + (($iOffset + $i * $iLoop + 6) * 4))
    $aRes[$i][7] = StringFormat("Date: %i.%i.%i", DllStructGetData($tTemp, 1, 1), DllStructGetData($tTemp, 1, 2), DllStructGetData($tTemp, 1, 4))
    EndIf
    Next
    Return $aRes
    EndFunc ;==>_WinAPI_GetExtendedTcpTable
  • GetTrueLocation
  • #include "winhttp.au3"
    $sLocation = _GetTrueLocation("localhost")
    MsgBox(0, '', $sLocation)
    Func _GetTrueLocation($sUrl)
    Local $aCracked = _WinHttpCrackUrl($sUrl)
    If @error Then Return SetError(1, 0, "")
    Local $hOpen = _WinHttpOpen()
    If @error Then Return SetError(2, 0, "")
    Local $hConnect = _WinHttpConnect($hOpen, $aCracked[2])
    If @error Then
    SetError(3, 0, 0)
    _WinHttpCloseHandle($hOpen)
    Return
    EndIf
    Local $hRequest = _WinHttpOpenRequest($hConnect, "GET", $aCracked[6])
    If @error Then
    SetError(4, 0, 0)
    _WinHttpCloseHandle($hConnect)
    _WinHttpCloseHandle($hOpen)
    Return
    EndIf
    _WinHttpSetOption($hRequest, $WINHTTP_OPTION_DISABLE_FEATURE, $WINHTTP_DISABLE_REDIRECTS)
    If @error Then
    SetError(5, @error, 0)
    _WinHttpCloseHandle($hRequest)
    _WinHttpCloseHandle($hConnect)
    _WinHttpCloseHandle($hOpen)
    Return
    EndIf
    _WinHttpSendRequest($hRequest)
    If @error Then
    SetError(6, 0, 0)
    _WinHttpCloseHandle($hRequest)
    _WinHttpCloseHandle($hConnect)
    _WinHttpCloseHandle($hOpen)
    Return
    EndIf
    _WinHttpReceiveResponse($hRequest)
    If @error Then
    SetError(7, 0, 0)
    _WinHttpCloseHandle($hRequest)
    _WinHttpCloseHandle($hConnect)
    _WinHttpCloseHandle($hOpen)
    Return
    EndIf
    Local $sHeader = _WinHttpQueryHeaders($hRequest)
    If @error Then
    SetError(8, 0, 0)
    _WinHttpCloseHandle($hRequest)
    _WinHttpCloseHandle($hConnect)
    _WinHttpCloseHandle($hOpen)
    Return
    EndIf
    $alocation = StringRegExp($sHeader, "Location:.*", 1)
    If @error Then
    SetError(9, 0, 0)
    _WinHttpCloseHandle($hRequest)
    _WinHttpCloseHandle($hConnect)
    _WinHttpCloseHandle($hOpen)
    Return
    EndIf
    _WinHttpCloseHandle($hRequest)
    _WinHttpCloseHandle($hConnect)
    _WinHttpCloseHandle($hOpen)
    Return $alocation[0]
    EndFunc ;==>_GetTrueLocation
  • GoogleQueryResults
  • #include <array.au3>
    #include <string.au3>
    #include <inet.au3>
    Global $oHTML = ObjCreate("HTMLFILE")
    $maxpage = 3
    $keyword = 'site:yagarai.blogspot.com autoit'
    Global $aResult[1][1], $timebegin = TimerInit(), $File = FileOpen(@DesktopDir & '\Get Link Google.txt', 2 + 8 + 128)
    For $i = 0 To $maxpage - 1
    $sSearch = _INetGetSource('http://www.google.com.vn/search?q=' & _URIEncode($keyword) & '&start=' & $maxpage * 10)
    $regexp_link = StringRegExp($sSearch, 'class="r"><a href="/url\?q=(htt\w.+?)&amp', 3) ; l?y link c?a page
    $regexp_name = StringRegExp($sSearch, 'class="r"><a href="\/url\?q=http.+?">(.+?)</a><\/h3>', 3) ; l?y ti�u d? c?a page
    $readarray = UBound($aResult, 1)
    ReDim $aResult[$readarray + UBound($regexp_link)][2]
    For $j = 0 To UBound($regexp_link) - 1
    $aResult[$readarray + $j][0] = $regexp_link[$j]
    FileWrite($File, $regexp_link[$j] & @CRLF & @CRLF)
    $aResult[$readarray + $j][1] = _HTML_StripTags($regexp_name[$j])
    Next
    Next
    FileClose($File)
    _ArrayDisplay($aResult, TimerDiff($timebegin) / 1000)
    Func _HTML_StripTags($sHTML)
    If Not StringStripWS($sHTML, 8) Then Return SetError(1, 0, "")
    If @error Then Return SetError(2, 0, "")
    $oHTML.Open()
    $oHTML.Write($sHTML)
    If Not $oHTML.Body.InnerText Then Return SetError(3, 0, "")
    Return SetError(0, 0, $oHTML.Body.InnerText)
    EndFunc ;==>_HTML_StripTags
    Func _URIEncode($sData)
    ; Prog@ndy
    Local $aData = StringSplit(BinaryToString(StringToBinary($sData, 4), 1), "")
    Local $nChar
    $sData = ""
    For $i = 1 To $aData[0]
    $nChar = Asc($aData[$i])
    Switch $nChar
    Case 45, 46, 48 - 57, 65 To 90, 95, 97 To 122, 126
    $sData &= $aData[$i]
    Case 32
    $sData &= "+"
    Case Else
    $sData &= "%" & Hex($nChar, 2)
    EndSwitch
    Next
    Return $sData
    EndFunc ;==>_URIEncode
  • IEGetObjByClass
  • ;===============================================================================
    ;
    ; Function Name: _IEGetObjByClass()
    ; Description: Returns an object variable by Class
    ; Parameter(s): $o_object - Object variable of an InternetExplorer.Application, Window or Frame object
    ; $s_Class - Specifies class of the object you wish to match
    ; $i_index - Optional: If the class occurs more than once, specify which instance by 0-based index
    ; Requirement(s): AutoIt3 V3.2 or higher
    ; Return Value(s): On Success - Returns an object variable pointing to the specified Object
    ; On Failure - Returns 0 and sets @ERROR
    ; @ERROR - 0 ($_IEStatus_Success) = No Error
    ; - 3 ($_IEStatus_InvalidDataType) = Invalid Data Type
    ; - 7 ($_IEStatus_NoMatch) = No Match
    ; @Extended - Contains invalid parameter number
    ; Author(s): Bob Anthony (big_daddy)
    ;
    ;===============================================================================
    ;
    Func _IEGetObjByClass(ByRef $o_object, $s_Class, $i_index = 0)
    If Not IsObj($o_object) Then
    __IEErrorNotify("Error", "_IEGetObjByClass", "$_IEStatus_InvalidDataType")
    SetError($_IEStatus_InvalidDataType, 1)
    Return 0
    EndIf
    ;
    If Not __IEIsObjType($o_object, "browserdom") Then
    __IEErrorNotify("Error", "_IEGetObjByClass", "$_IEStatus_InvalidObjectType")
    SetError($_IEStatus_InvalidObjectType, 1)
    Return 0
    EndIf
    ;
    Local $i_found = 0
    ;
    $o_tags = _IETagNameAllGetCollection($o_object)
    For $o_tag In $o_tags
    If String($o_tag.className) = $s_Class Then
    If ($i_found = $i_index) Then
    SetError($_IEStatus_Success)
    Return $o_tag
    Else
    $i_found += 1
    EndIf
    EndIf
    Next
    ;
    __IEErrorNotify("Warning", "_IEGetObjByClass", "$_IEStatus_NoMatch", $s_Class)
    SetError($_IEStatus_NoMatch, 2)
    Return 0
    EndFunc ;==&gt;_IEGetObjByClass
  • IEImageSaveAs
  • Func _IEImageSaveAs($oIE,$oImg,$sDir)
    Local $oRange
    $oRange = $oIE.Document.Body.CreateControlRange()
    $oRange.Add($oImg)
    $oRange.ExecCommand('Copy')
    _GDIPlus_Startup()
    _ClipBoard_Open(0)
    $z = _ClipBoard_GetDataEx($CF_BITMAP)
    $y = _GDIPlus_BitmapCreateFromHBITMAP($z)
    _ClipBoard_Close()
    _GDIPlus_ImageSaveToFile($y,$sDir)
    _GDIPlus_BitmapDispose($y)
    _GDIPlus_Shutdown()
    EndFunc
  • IEProxy
  • Func Set_Proxy($Address , $Port)
    RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "ProxyServer" _
    , "REG_SZ", $Address &amp; ":" &amp; $Port)
    RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "ProxyEnable", _
    "REG_DWORD", True)
    EndFunc
    Func Enables_Disable($BOOL)
    ;$BOOL True / False
    RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "ProxyEnable", _
    "REG_DWORD", $BOOL)
    EndFunc
  • InetGetProgress
  • ; #AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 -w 7
    ; #INDEX# =======================================================================================================================
    ; Title .........: _InetGetProgress
    ; AutoIt Version : v3.3.2.0 or higher
    ; Language ......: English
    ; Description ...: Download a file showing a progress bar using ProgressOn.
    ; Note ..........:
    ; Author(s) .....: guinness
    ; Remarks .......:
    ; ===============================================================================================================================
    ; #CURRENT# =====================================================================================================================
    ; _InetGetProgress: Download a file showing a progress bar using ProgressOn.
    ; ===============================================================================================================================
    ; #INTERNAL_USE_ONLY#============================================================================================================
    ; _ByteSuffix ......; Convert bytes to the largest measure. Thanks to Spliff69 - http://www.autoitscript.com/forum/topic/...ync-tool/page__view__findpost_
    ; ===============================================================================================================================
    ; #FUNCTION# =========================================================================================================
    ; Name...........: _InetGetProgress()
    ; Description ...: Download a file showing a progress bar using ProgressOn.
    ; Syntax.........: _InetGetProgress($sURL, [$sDirectory = @ScriptDir])
    ; $sURL - A valid URL that contains the filename too.
    ; $sDirectory - [Optional] Directory of where to download to @ScriptDir
    ; Parameters ....: None
    ; Requirement(s).: v3.3.2.0 or higher
    ; Return values .: Success - Downloaded filename.
    ; Failure - Returns downloaded filename & sets @error = 1
    ; Author ........: guinness
    ; Example........; Yes
    ;=====================================================================================================================
    Func _InetGetProgress($sURL, $sDirectory = @ScriptDir)
    Local $hDownload, $iBytesRead = 0, $iFileSize, $iPercentage, $iSpeed = 0, $iTimer = 0, $sFilePath, $sProgressText, $sSpeed
    $sFilePath = StringRegExpReplace($sURL, "^.*/", "")
    If @error Then
    Return SetError(1, 0, $sFilePath)
    EndIf
    $sDirectory = StringRegExpReplace($sDirectory, "[\\/]+\z", "") & "\" & $sFilePath
    $iFileSize = InetGetSize($sURL, 1)
    $hDownload = InetGet($sURL, $sDirectory, 0, 1)
    If @error Then
    Return SetError(1, 0, $sFilePath)
    EndIf
    ProgressOn("", "")
    $sSpeed = "Current Speed: " & _ByteSuffix($iBytesRead - $iSpeed) & "/s"
    $iTimer = TimerInit()
    While InetGetInfo($hDownload, 2) = 0
    $iBytesRead = InetGetInfo($hDownload, 0)
    $iPercentage = $iBytesRead * 100 / $iFileSize
    $sProgressText = "Downloading " & _ByteSuffix($iBytesRead, 0) & " Of " & _ByteSuffix($iFileSize, 0) & @LF & $sSpeed
    ProgressSet(Round($iPercentage, 0), $sProgressText, "Downloading: " & $sFilePath)
    If TimerDiff($iTimer) > 1000 Then
    $sSpeed = "Current Speed: " & _ByteSuffix($iBytesRead - $iSpeed) & "/s"
    $iSpeed = $iBytesRead
    $iTimer = TimerInit()
    EndIf
    Sleep(100)
    WEnd
    InetClose($hDownload)
    ProgressOff()
    Return $sFilePath
    EndFunc ;==>_InetGetProgress
    ; #INTERNAL_USE_ONLY#============================================================================================================
    Func _ByteSuffix($iBytes, $iRound = 2)
    Local $A, $aArray[9] = [" B", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB"]
    While $iBytes > 1023
    $A += 1
    $iBytes /= 1024
    WEnd
    Return Round($iBytes, $iRound) & $aArray[$A]
    EndFunc ;==>_ByteSuffix
    ; #INTERNAL_USE_ONLY#============================================================================================================
  • IsMouseOverGUI
  • #include <GUIConstants.au3>
    Global $ParentWin = GUICreate("GetHoveredHwnd")
    GUISetState(@SW_SHOWNORMAL)
    While 1
    If GUIGetMsg() = -3 Then Exit
    If GetHoveredHwnd() = $ParentWin Then
    ToolTip("You are over the GUI")
    Else
    ToolTip('')
    EndIf
    WEnd
    Func GetHoveredHwnd()
    Local $iRet = DllCall("user32.dll", "int", "WindowFromPoint", "long", MouseGetPos(0), "long", MouseGetPos(1))
    If IsArray($iRet) Then Return HWnd($iRet[0])
    Return SetError(1, 0, 0)
    EndFunc
  • IsNotConnect
  • $oMyError = ObjEvent("AutoIt.Error","MyErrFunc")
    If IsNotConnect() Then
    MsgBox (0,,"","Not connected!")
    Else
    MsgBox (0,"","Connected!")
    EndIf
    Func IsNotConnect()
    Local $oHTTP=ObjCreate("winhttp.winhttprequest.5.1")
    $oHTTP.Open("GET","http://www.google.com")
    $oHTTP.Send()
    Return @error
    EndFunc
    Func MyErrFunc()
    Dim $oMyError
    Select
    Case $oMyError.source = "WinHttp.WinHttpRequest"
    SetError(1)
    Case Else
    Return $oMyError.description
    EndSelect
    Endfunc
  • IsSniff
  • #include <Misc.au3>
    #include <Constants.au3>
    MsgBox(0,'',IsSniff())
    ; #FUNCTION# ====================================================================================================================
    ; Name ..........: IsSniff
    ; Description ...: Detect sniffers in promiscuous mode
    ; Syntax ........: IsSniff()
    ; Parameters ....: No
    ; Return values .: True if there is at least one sniffer
    ; False if there is no sniffer
    ; Author ........: Yagami Raito
    ; Modified ......: 22/9/2013
    ; Remarks .......: Quite Good
    ; Related .......: promqry()
    ; Link ..........: http://fb.com/phuchuy.alias
    ; Example .......: MsgBox(0,'',IsSniff())
    ; ===============================================================================================================================
    Func IsSniff()
    BinaryToFile(@TempDir&"\promqry.exe",promqry())
    Local $Buffer = Run(@ComSpec & " /c "&@TempDir&"\promqry.exe", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
    Local $line
    While 1
    $line &= StdoutRead($Buffer)
    If @Error Then ExitLoop
    WEnd
    If $line="" then
    SetError(1)
    Else
    SetError(0)
    EndIf
    Return _Iif(StringInStr($line,'NEGATIVE: no interfaces on system found in promiscuous mode'),false,true)
    EndFunc
    Func BinaryToFile($filename,$BinaryData)
    FileDelete($filename)
    Local $FileOpen = FileOpen($filename,2)
    if @error Then Return -1
    FileWrite($FileOpen,Binary($BinaryData))
    If @error Then Return -2
    FileClose($FileOpen)
    Return True
    EndFunc
    Func promqry()
    Local $TXT = ""
    $TXT &= "0x4D5A90000300000004000000FFFF0000B8000000000000004000000000000000000000000000000000000000"
    $TXT &= "00000000000000000000000000000000800000000E1FBA0E00B409CD21B8014CCD21546869732070726F677261"
    $TXT &= "6D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000504500004C01"
    $TXT &= "0300FD9DFE410000000000000000E0000E010B0106000050000000200000000000007E61000000200000008000"
    $TXT &= "000000400000200000001000000400000000000000040000000000000000C00000001000000000000003000004"
    $TXT &= "000010000010000000001000001000000000000010000000000000000000000024610000570000000080000058"
    $TXT &= "0800000000000000000000000000000000000000A000000C000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000002000000800000000000000000000"
    $TXT &= "00082000004800000000000000000000002E746578740000008441000000200000005000000010000000000000"
    $TXT &= "0000000000000000200000602E7273726300000058080000008000000010000000600000000000000000000000"
    $TXT &= "000000400000402E72656C6F6300000C00000000A0000000100000007000000000000000000000000000004000"
    $TXT &= "004200000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000060610000000000004800000002000000DC3A00004826000001000000010000060000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000001B300400B3060000"
    $TXT &= "0100001116130416130517130614130914130A730D00000A130C028E691931227201000070280E00000A720300"
    $TXT &= "0070280E00000A280F00000A1F63130FDD72060000028E69163EE104000002169A6F1000000A20040100003122"
    $TXT &= "7201000070280E00000A7203000070280E00000A280F00000A1F63130FDD3806000002169A6F1100000A723700"
    $TXT &= "0070281200000A2D1402169A6F1100000A723D000070281200000A2C0E280F00000A1F63130FDD020600000216"
    $TXT &= "9A6F1100000A7243000070281200000A2C3B7201000070280E00000A724D000070280E00000A7201000070280E"
    $TXT &= "00000A7275000070280E00000A7201000070280E00000A1F63130FDDB3050000170C380501000002089A166F13"
    $TXT &= "00000A1F2D2E1002089A166F1300000A1F2F40E400000002089A176F1300000A131011101F4E2E6711101F6E40"
    $TXT &= "BC00000002089A6F1100000A72A3000070281200000A2D1402089A6F1100000A72AB000070281200000A2C0616"
    $TXT &= "800100000402089A6F1100000A72B3000070281200000A2D1402089A6F1100000A72BB000070281200000A2C74"
    $TXT &= "1680020000042B6C02089A6F1100000A72A3000070281200000A2D1402089A6F1100000A72AB00007028120000"
    $TXT &= "0A2C0616800100000402089A6F1100000A72B3000070281200000A2D1402089A6F1100000A72BB000070281200"
    $TXT &= "000A2C161680020000042B0E280F00000A1F63130FDDAB0400000817580C08028E693FF2FEFFFF02169A6F1100"
    $TXT &= "000A1307110772C3000070166F1400000A0D0915402201000002169A6F1100000A72B3000070281200000A2D3C"
    $TXT &= "02169A6F1100000A72BB000070281200000A2D2802169A6F1100000A72A3000070281200000A2D1402169A6F11"
    $TXT &= "00000A72AB000070281200000A2C547201000070280E00000A7203000070280E00000A72C7000070280E00000A"
    $TXT &= "7231010070280E00000A7201000070280E00000A72AB010070280E00000A7201000070280E00000A280F00000A"
    $TXT &= "1F63130FDDDB0300001107281500000A130511051F6333091107281600000A13041104172E0511051733367201"
    $TXT &= "000070280E00000A721D020070280E00000A728B020070280E00000A7201000070280E00000A280F00000A1F63"
    $TXT &= "130FDD8303000072E7020070110772ED020070281700000A130817130611081107281800000A130638EA010000"
    $TXT &= "110716096F1900000A130911070917586F1A00000A130A1109281500000A130511052C3B7201000070280E0000"
    $TXT &= "0A7203000070280E00000A7201030070280E00000A7229030070280E00000A7201000070280E00000A1F63130F"
    $TXT &= "DDFE020000110A281500000A130511052C3B7201000070280E00000A7203000070280E00000A7277030070280E"
    $TXT &= "00000A7229030070280E00000A7201000070280E00000A1F63130FDDB60200001109110A281B00000A0A062D31"
    $TXT &= "7201000070280E00000A7203000070280E00000A729B030070280E00000A7201000070280E00000A1F63130FDD"
    $TXT &= "780200001109130B17130672E7020070110B72ED020070281700000A13087E010000042C37110C110B6F1C0000"
    $TXT &= "0A0B072C0D1108110B281800000A13062B2F7201000070280E00000A110B72DF030070281D00000A280E00000A"
    $TXT &= "2B127E010000042D0B1108110B281800000A1306110B110A281200000A2C091106130FDDFA010000110B281E00"
    $TXT &= "000A130B110B2D3B7201000070280E00000A7203000070280E00000A721B040070280E00000A7271040070280E"
    $TXT &= "00000A7201000070280E00000A1F63130FDDB2010000110B72B3040070281200000A2C091106130FDD9B010000"
    $TXT &= "110B72B3040070281F00000A3A19FFFFFF2B1572B90400701308110872CB040070281800000A13061106282000"
    $TXT &= "000A1106130FDD63010000130D7201000070280E00000A72E5040070110D6F2100000A281D00000A280E00000A"
    $TXT &= "110D6F2100000A6F1100000A72F50400706F2200000A2D18110D6F2100000A6F1100000A72110500706F220000"
    $TXT &= "0A2C287201000070280E00000A7233050070280E00000A7287050070280E00000A7201000070280E00000A110D"
    $TXT &= "6F2300000A399B00000072DD050070110D6F2300000A72FD0500706F2400000A282500000A280E00000A721506"
    $TXT &= "0070110D6F2300000A72350600706F2400000A282500000A280E00000A7249060070110D6F2300000A72690600"
    $TXT &= "706F2400000A282500000A280E00000A7285060070110D6F2300000A72A50600706F2400000A282500000A280E"
    $TXT &= "00000A72BF060070110D6F2300000A72E90600706F2400000A282600000A72FF060070280E00000A1F63130FDE"
    $TXT &= "32130E7201000070280E00000A72E5040070110E6F2100000A281D00000A280E00000A72FF060070280E00000A"
    $TXT &= "1F63130FDE00110F2A004134000000000000000000004D0500004D050000310100000F00000100000000000000"
    $TXT &= "004D0500007E06000032000000100000011B3004009304000002000011160A724F070070130502110573270000"
    $TXT &= "0A13067201000070280E00000A72A10700700372B5070070281700000A280E00000A11066F2800000A13071613"
    $TXT &= "08170C11076F2900000A130E382F010000110E6F2A00000A740C00001B130911096F2B00000A6F2C00000A130F"
    $TXT &= "38E3000000110F6F2D00000A130A110A6F2E00000A72BD070070281200000A2C5A110A6F2F00000A6F3000000A"
    $TXT &= "13041104283100000A0B071F205F16311D72ED070070280E00000A7201000070280E00000A160C170A388D0000"
    $TXT &= "007E0200000439830000007235080070280E00000A7201000070280E00000A2B6D7E020000042D03062C63110A"
    $TXT &= "6F2E00000A7297080070281200000A2C2E7201000070280E00000A110A6F2E00000A72A5080070281D00000A28"
    $TXT &= "3200000A110A6F2F00000A283300000A2B22110A6F2E00000A72A5080070281D00000A280E00000A110A6F2F00"
    $TXT &= "000A283300000A110F6F3400000A3A11FFFFFFDE15110F751200001B131011102C0711106F3500000ADC110817"
    $TXT &= "581308160A110E6F3600000A3AC5FEFFFFDE0C110E2C07110E6F3500000ADC11082D0F72AB080070280E00000A"
    $TXT &= "1F630C2B6F081733207201000070280E00000A72D5080070280E00000A72F3080070280E00000A2B4B082D4872"
    $TXT &= "01000070280E00000A72D5080070280E00000A726B090070280E00000A7201000070280E00000A020328370000"
    $TXT &= "0A0D091733147201000070280E00000A72FE090070280E00000A7201000070280E00000A72560A0070280E0000"
    $TXT &= "0A11066F3800000A11076F3900000A11066F3800000A08130DDD46020000130B7201000070280E00000A72E504"
    $TXT &= "0070110B6F2100000A281D00000A280E00000A110B6F2100000A6F1100000A72F50400706F2200000A2D18110B"
    $TXT &= "6F2100000A6F1100000A72110500706F2200000A2C287201000070280E00000A7233050070280E00000A728705"
    $TXT &= "0070280E00000A7201000070280E00000A110B6F2300000A399B00000072DD050070110B6F2300000A72FD0500"
    $TXT &= "706F2400000A282500000A280E00000A7215060070110B6F2300000A72350600706F2400000A282500000A280E"
    $TXT &= "00000A7249060070110B6F2300000A72690600706F2400000A282500000A280E00000A7285060070110B6F2300"
    $TXT &= "000A72A50600706F2400000A282500000A280E00000A72BF060070110B6F2300000A72E90600706F2400000A28"
    $TXT &= "2600000A72FF060070280E00000A1F63130DDD12010000130C7201000070280E00000A72E5040070110C6F2100"
    $TXT &= "000A281D00000A280E00000A110C6F2100000A728E0A0070281200000A2C757E020000042C467201000070280E"
    $TXT &= "00000A72CC0A0070280E00000A721A0B0070280E00000A726E0B0070280E00000A72CC0B0070280E00000A7224"
    $TXT &= "0C0070280E00000A72880C0070280E00000A7201000070280E00000A72E00C0070280E00000A722E0D0070280E"
    $TXT &= "00000A7201000070280E00000A110C6F2100000A6F1100000A72F50400706F2200000A2D18110C6F2100000A6F"
    $TXT &= "1100000A72110500706F2200000A2C287201000070280E00000A7233050070280E00000A7287050070280E0000"
    $TXT &= "0A7201000070280E00000A72FF060070280E00000A1F63130DDE00110D2A0041640000020000006A000000F600"
    $TXT &= "000060010000150000006F6C65000200000049000000420100008B0100000C0000006F6C650000000000000000"
    $TXT &= "004A0200004A020000340100000F00000100000000000000004A0200007E03000012010000100000011B300400"
    $TXT &= "09020000030000110372CB040070281F00000A2C1872740D007003727A0D0070281700000A733A00000A0A2B0B"
    $TXT &= "727A0D0070733A00000A0A72920D0070733B00000A0B0607733C00000A0C086F2800000A0D096F2900000A1307"
    $TXT &= "38C300000011076F2A00000A740C00001B1304110472BC0D00706F2400000A6F3000000A2C1B72C60D00701104"
    $TXT &= "72BC0D00706F2400000A282500000A280E00000A72E60D0070110472F80D00706F2400000A282500000A280E00"
    $TXT &= "000A72060E0070110472360E00706F2400000A282500000A280E00000A72500E0070110472720E00706F240000"
    $TXT &= "0A282500000A280E00000A727E0E00701104729E0E00706F2400000A282500000A280E00000A72C00E00701104"
    $TXT &= "72F60E00706F2400000A282500000A280E00000A11076F3600000A3A31FFFFFFDE0C11072C0711076F3500000A"
    $TXT &= "DC096F3900000A086F3800000A0372CB040070281F00000A2C1872740D007003727A0D0070281700000A733A00"
    $TXT &= "000A0A2B0B727A0D0070733A00000A0A72080F0070733B00000A0B0607733C00000A0C086F2800000A0D096F29"
    $TXT &= "00000A13072B4411076F2A00000A740C00001B130572340F00701105725A0F00706F2400000A282500000A280E"
    $TXT &= "00000A726A0F0070110572880F00706F2400000A282500000A280E00000A11076F3600000A2DB3DE0C11072C07"
    $TXT &= "11076F3500000ADC096F3900000A086F3800000A161306DE0626171306DE0011062A000000414C000002000000"
    $TXT &= "52000000D6000000280100000C0000006F6C6500020000009201000051000000E30100000C0000006F6C650000"
    $TXT &= "0000000000000000020000000200000600000010000001033001005F010000000000007201000070280E00000A"
    $TXT &= "72A20F0070280E00000A7201000070280E00000A72D60F0070280E00000A7218100070280E00000A7201000070"
    $TXT &= "280E00000A7250100070280E00000A7201000070280E00000A72A0100070280E00000A7201000070280E00000A"
    $TXT &= "72BE100070280E00000A723E110070280E00000A72B6110070280E00000A7204120070280E00000A7201000070"
    $TXT &= "280E00000A7276120070280E00000A7201000070280E00000A72CC120070280E00000A7201000070280E00000A"
    $TXT &= "72BE100070280E00000A723E110070280E00000A72B6110070280E00000A7228130070280E00000A72A0130070"
    $TXT &= "280E00000A7201000070280E00000A720E140070280E00000A7201000070280E00000A72AB010070280E00000A"
    $TXT &= "7201000070280E00000A7276140070280E00000A72E6140070280E00000A7232150070280E00000A7228130070"
    $TXT &= "280E00000A72A0130070280E00000A7201000070280E00000A2A001B3004002002000004000011020D160B160A"
    $TXT &= "2B2109066F1300000A130912091F2E8C1600001B283D00000A2C040717580B0617580A06096F1000000A32D607"
    $TXT &= "192E091F631308DDDE01000009166F1300000A13091209283E00000A13041104729C1500706F3F00000A2C0817"
    $TXT &= "1308DDB6010000170A2B19110409066F1300000A8C1600001B282500000A13040617580A09066F1300000A1F2E"
    $TXT &= "2E0906096F1000000A32D31104283100000A0C0820DF000000300408172F08171308DD690100000617580A0906"
    $TXT &= "6F1300000A13091209283E00000A13051105729C1500706F3F00000A2C08171308DD3D0100000617580A2B1911"
    $TXT &= "0509066F1300000A8C1600001B282500000A13050617580A09066F1300000A1F2E2E0906096F1000000A32D311"
    $TXT &= "05283100000A0C0820FF000000300408162F08171308DDEE0000000617580A09066F1300000A13091209283E00"
    $TXT &= "000A13061105729C1500706F3F00000A2C08171308DDC20000000617580A2B19110609066F1300000A8C160000"
    $TXT &= "1B282500000A13060617580A09066F1300000A1F2E2E0906096F1000000A32D31106283100000A0C0820FF0000"
    $TXT &= "00300408162F05171308DE760617580A09066F1300000A13091209283E00000A13071105729C1500706F3F0000"
    $TXT &= "0A2C05171308DE4D0617580A2B19110709066F1300000A8C1600001B282500000A13070617580A06096F100000"
    $TXT &= "0A33DE1107283100000A0C0820FF000000300408172F05171308DE0C161308DE07261F631308DE0011082A411C"
    $TXT &= "00000000000000000000160200001602000007000000220000011B300400530000000500001172A01500701F22"
    $TXT &= "8C1600001B282500000A0C160A2B29160B2B1802066F1300000A08076F1300000A3304170DDE230717580B0708"
    $TXT &= "6F1000000A32DF0617580A06026F1000000A32CE160DDE0526170DDE00092A0001100000000000004C4C000510"
    $TXT &= "0000011B300500640100000600001114130802729C1500706F4000000A1309021611096F1900000A0A02729C15"
    $TXT &= "0070110917586F1400000A130A0211091758110A11091758596F1900000A0B02729C150070110A17586F140000"
    $TXT &= "0A130B02110A1758110B110A1758596F1900000A0C0202729C1500706F4100000A17586F1A00000A0D06283100"
    $TXT &= "000A130407283100000A130508283100000A130609283100000A13071107175820FF0000002F08110717581307"
    $TXT &= "2B4B1613071106175820000100002F081106175813062B351613061105175820000100002F081105175813052B"
    $TXT &= "1F1613051104175820E00000002F081104175813042B0972B3040070130CDE6F1204284200000A13081108729C"
    $TXT &= "150070281D00000A130811081205284200000A281D00000A13081108729C150070281D00000A13081108120628"
    $TXT &= "4200000A281D00000A13081108729C150070281D00000A130811081207284200000A281D00000A13081108130C"
    $TXT &= "DE062614130CDE00110C2A411C000000000000000000005B0100005B01000006000000100000011B3005007901"
    $TXT &= "00000700001102729C1500706F4000000A130C0216110C6F1900000A0A02729C150070110C17586F1400000A13"
    $TXT &= "0D02110C1758110D110C1758596F1900000A0B02729C150070110D17586F1400000A130E02110D1758110E110D"
    $TXT &= "1758596F1900000A0C0202729C1500706F4100000A17586F1A00000A0D06283100000A130407283100000A1305"
    $TXT &= "08283100000A130609283100000A130703729C1500706F4000000A130C0316110C6F1900000A0A03729C150070"
    $TXT &= "110C17586F1400000A130D03110C1758110D110C1758596F1900000A0B03729C150070110D17586F1400000A13"
    $TXT &= "0E03110D1758110E110D1758596F1900000A0C0303729C1500706F4100000A17586F1A00000A0D06283100000A"
    $TXT &= "130807283100000A130908283100000A130A09283100000A130B11041108310516130FDE491104110833381105"
    $TXT &= "1109310516130FDE381105110933271106110A310516130FDE271106110A33161107110B30061107110B330516"
    $TXT &= "130FDE1017130FDE0B17130FDE062616130FDE00110F2A000000411C0000000000000000000070010000700100"
    $TXT &= "000600000010000001133001000D000000000000001780010000041780020000042A0000001330010007000000"
    $TXT &= "0000000002284300000A2A001B3005000703000008000011160B160C7201000070280E00000A72DA1500700372"
    $TXT &= "B5070070281700000A283200000A181917734400000A0D0920FFFF0000200510000020E80300006F4500000A03"
    $TXT &= "284600000A1304110416734700000A130511051306284800000A284900000A0A066F4A00000A169A1673470000"
    $TXT &= "0A130711071308161309734B00000A130A110A1E7D05000004110A167D06000004110A72EC150070284C00000A"
    $TXT &= "7D07000004110A72F0150070284C00000A7D08000004110A72EC150070284C00000A7D090000041F20130B110A"
    $TXT &= "110B8D1E00001B7D0A00000416130C2B12110A7B0A000004110C1F239C110C1758130C110C110B32E8110B1E58"
    $TXT &= "130911098D1E00001B130D16130E110A110D1109110B284D00000A130E110E15331872F6150070283200000A09"
    $TXT &= "6F4E00000A16131ADDD4010000110E284F00000A130F110F2300000000000000405B285000000A131011102851"
    $TXT &= "00000A131111118D1D00001B13121613131613142B1A11121114110D1113285200000A9D111318581313111417"
    $TXT &= "5813141114111132E011121111285300000A1315110A11157D0700000411098D1E00001B1316110A1116110911"
    $TXT &= "0B284D00000A130E110E15331872F6150070283200000A096F4E00000A16131ADD35010000285400000A0C0911"
    $TXT &= "1611091611066F5500000A250B15331872F6150070283200000A096F4E00000A16131ADD050100002000010000"
    $TXT &= "8D1E00001B1317160B16131816131938C40000000920FFFF0000200610000020E80300006F4500000A09111720"
    $TXT &= "000100001612086F5600000A0B0715331872F6150070283200000A096F4E00000A16131ADDAA00000007163157"
    $TXT &= "285400000A2611171F14912D187204160070283200000A096F4E00000A17131ADD8100000011171F1491193315"
    $TXT &= "7214160070283200000A096F4E00000A16131ADE6472F6150070283200000A096F4E00000A16131ADE4F285400"
    $TXT &= "000A08591319111920E803000031157244160070283200000A096F4E00000A16131ADE2811183935FFFFFF096F"
    $TXT &= "4E00000A17131ADE162672F6150070283200000A096F4E00000A16131ADE00111A2A00411C0000000000004100"
    $TXT &= "0000AD020000EE020000160000001000000113300500CD00000009000011160A160B178D1E00001B0C0816027B"
    $TXT &= "050000049C178D1E00001B0D0916027B060000049C027B07000004285700000A1304027B08000004285700000A"
    $TXT &= "1305027B09000004285700000A130608160307088E69285800000A07088E69580B09160307098E69285800000A"
    $TXT &= "07098E69580B110416030711048E69285800000A0711048E69580B110516030711058E69285800000A0711058E"
    $TXT &= "69580B110616030711068E69285800000A0711068E69580B027B0A00000416030705285800000A0705580B0704"
    $TXT &= "2E04150A062A070A062A000000133003003A0000000A000011160A160B2B180207932606020793285900000A58"
    $TXT &= "0A0717580B0317591001031630E4061F10630620FFFF00005F580A06061F1063580A0666D12A00001330010007"
    $TXT &= "0000000000000002284300000A2A0013300100070000000000000002284300000A2A00133002000E0000000000"
    $TXT &= "00000225285B00000A037D0B0000042A0000133001000700000000000000027B0B0000042A0042534A42010001"
    $TXT &= "00000000000C00000076312E312E34333232000000000005006C000000C4060000237E000030070000BC050000"
    $TXT &= "23537472696E677300000000EC0C000054160000235553004023000010000000234755494400000050230000F8"
    $TXT &= "02000023426C6F620000000000000001000001571DA2090900000000FA01330002000001000000360000000500"
    $TXT &= "00000B00000011000000120000005B000000020000000D0000000A000000010000000100000001000000230000"
    $TXT &= "00010000000300000000000A0001000000000006004A00380006006B00380006008400380006009F0038000600"
    $TXT &= "BA0038000600D30038000600EC0038000600050138000600240138000600410138000400580100000600750131"
    $TXT &= "0006008201310006008C0131000A009F011F000600B30131000600BD01310006001F0231000A004F021F000A00"
    $TXT &= "82021F000A009B021F000A00B6021F000A00C7021F005700D40200000A00EF021F0067000603000006001D0331"
    $TXT &= "000600720331000E00AB0395030A00B5031F000A00C5031F000A00D1031F000600DD0331000600E90331000E00"
    $TXT &= "100405040E002F041C040E00360405040E00400405040E004B0405040E0054041C040E0062041C040E006D041C"
    $TXT &= "040E007A041C040E008C041C040E00AD0405040600DB0431000600E20431000600ED0431000600FE0431000600"
    $TXT &= "130531000E0037051C0406005F05310006006A05310006007B0531000000000001000000000001000100000010"
    $TXT &= "007C010000310001000100010010007E010000310003000B000100100080010000310005000F00010110005801"
    $TXT &= "000035000B00100011007C01C90211008001C90251807C01D70251808001D70206007C01E40206008001E40206"
    $TXT &= "007E01E7020600B405E7020600B605E7020600B805EA0201007C01EE0250200000000091009305CC0201004427"
    $TXT &= "0000000091007E0178000200482C000000009100800178000400AC2E0000000096007C014D0006001830000000"
    $TXT &= "0096007E016C000600603200000000960080016C000700D0320000000091007C01940008005C34000000009100"
    $TXT &= "7C015B0009000036000000009118A5054D000B001C3600000000861865003B000B0030360000000086007C0189"
    $TXT &= "000B0060390000000096007C0103020C003C3A0000000096007C012F021000843A00000000861865003B001200"
    $TXT &= "983A00000000861865003B001200AC3A000000008618650013001200C83A0000000086007C0157001300000001"
    $TXT &= "009805000001009D0500000200A105000001009D0500000200A105000001009D05000001009D05000001009D05"
    $TXT &= "000001009D0500000200A105000001009D05000001009D0500000200A10500000300AC0500000400B005000001"
    $TXT &= "009D0500000200A105000001007C01090065001300110065001300190065001800210065001300290065001300"
    $TXT &= "310065001300390065001300410065001300490065001300510065001300590065001300710065003B000C0065"
    $TXT &= "003B001400C50145001C007C014D002400CF0153002400DA0157002400E2015B002400EE0161002400F8016600"
    $TXT &= "1C007E016C001C0080016C002400000271001C007E017800240007027E002400070284001C007C015B000C007C"
    $TXT &= "018900240000028E001C007C019400240011025B002C002B029C003400380257002400440289003C006402A700"
    $TXT &= "44007902AF0024000002B4001400C501BA004C006500DA004C002903E00054002D03E8005C003B03A700440047"
    $TXT &= "03F3006C002D03FB0074003B0303017C00560357007C005F030B018400690357008C0078036C0014007E034500"
    $TXT &= "1400C501140174008403190194008D033B005C00840319011C00800178009C008D033B0054008D033B00A40065"
    $TXT &= "001300AC00650013004C0065004601B400E2036501B400690357002400E20389002400F8017E012400F9037E01"
    $TXT &= "8C0069035700840065003B00BC006500AA01BC009D04B701C4007803C601CC006500D101D400B104DD01D400BD"
    $TXT &= "04E101DC00CB04EC01E40065003B00EC007803FA010C007C010302BC00E7043B00FC00F5041102040103051A02"
    $TXT &= "FC000B051F020C01200528020C007C012F022C0029053602BC0043053A02BC004A0547020C0156058602140165"
    $TXT &= "059002FC000B05AC02B1016500B6021C0165003B0008000C00DA0208001000DF0220006300D2022E000B001D00"
    $TXT &= "2E001B001D002E0023001D002E002B001D002E0033001D002E003B001D002E0043001D002E004B001D002E0053"
    $TXT &= "001D002E0013001D002E005B002300A300D302BD02C00023014F016A0177018301930155029D02B10205000100"
    $TXT &= "0000BA05F1020200110003003F0042004A0051009900A100A400AC00D700E500ED00F000F800000108010F0111"
    $TXT &= "011D012001400143016101A601C201CD01D901E801F301F601FF010D02160224028C02C6020480000001000000"
    $TXT &= "4107CB5B0000000000006D01000001000000881300000000000001001600000000000100000088130000000000"
    $TXT &= "000A001F0000000000010000008813000000000000010031000000000000000000003C4D6F64756C653E007072"
    $TXT &= "6F6D7172792E657865006D73636F726C69620053797374656D2E4D616E6167656D656E740053797374656D0053"
    $TXT &= "797374656D2E5265666C656374696F6E00417373656D626C79436F70797269676874417474726962757465002E"
    $TXT &= "63746F7200417373656D626C794B657946696C6541747472696275746500417373656D626C7944656C61795369"
    $TXT &= "676E41747472696275746500417373656D626C7954726164656D61726B41747472696275746500417373656D62"
    $TXT &= "6C794B65794E616D6541747472696275746500417373656D626C7950726F647563744174747269627574650041"
    $TXT &= "7373656D626C79436F6D70616E7941747472696275746500417373656D626C79436F6E66696775726174696F6E"
    $TXT &= "41747472696275746500417373656D626C794465736372697074696F6E41747472696275746500417373656D62"
    $TXT &= "6C795469746C6541747472696275746500446F746675736361746F724174747269627574650070726F6D717279"
    $TXT &= "004F626A6563740061006300620041747472696275746500535441546872656164417474726962757465004D61"
    $TXT &= "6E6167656D656E74457863657074696F6E00457863657074696F6E00436F6E736F6C650057726974654C696E65"
    $TXT &= "006765745F4C656E67746800546F4C6F776572006F705F457175616C697479006765745F436861727300496E64"
    $TXT &= "65784F6600436F6E63617400537562737472696E67006F705F496E657175616C69747900456E7669726F6E6D65"
    $TXT &= "6E74007365745F45786974436F6465006765745F4D6573736167650053746172747357697468004D616E616765"
    $TXT &= "6D656E74426173654F626A656374006765745F4572726F72496E666F726D6174696F6E006765745F4974656D00"
    $TXT &= "4D616E6167656D656E744F626A6563745365617263686572004D616E6167656D656E744F626A656374436F6C6C"
    $TXT &= "656374696F6E004D616E6167656D656E744F626A6563740050726F706572747944617461004D616E6167656D65"
    $TXT &= "6E744F626A656374456E756D657261746F720050726F706572747944617461436F6C6C656374696F6E0050726F"
    $TXT &= "706572747944617461456E756D657261746F720049446973706F7361626C650047657400476574456E756D6572"
    $TXT &= "61746F72006765745F43757272656E74006765745F50726F70657274696573006765745F4E616D65006765745F"
    $TXT &= "56616C756500546F537472696E6700496E743332005061727365005772697465004D6F76654E65787400446973"
    $TXT &= "706F73650053797374656D2E436F6D706F6E656E744D6F64656C00436F6D706F6E656E74004D616E6167656D65"
    $TXT &= "6E7453636F70650053656C6563745175657279004F626A6563745175657279004368617200457175616C730046"
    $TXT &= "6F726D6174457863657074696F6E004C617374496E6465784F660053797374656D2E4E6574004950486F737445"
    $TXT &= "6E7472790053797374656D2E4E65742E536F636B65747300536F636B657400495041646472657373004950456E"
    $TXT &= "64506F696E7400456E64506F696E74004164647265737346616D696C7900536F636B6574547970650050726F74"
    $TXT &= "6F636F6C5479706500536F636B65744F7074696F6E4C6576656C00536F636B65744F7074696F6E4E616D650053"
    $TXT &= "6574536F636B65744F7074696F6E00446E7300476574486F73744E616D6500476574486F737442794E616D6500"
    $TXT &= "6765745F416464726573734C6973740055496E743136004279746500436C6F736500436F6E7665727400546F44"
    $TXT &= "6F75626C65004D617468004365696C696E6700546F496E74333200426974436F6E76657274657200546F55496E"
    $TXT &= "743136006765745F5469636B436F756E7400536F636B6574466C6167730053656E64546F005265636569766546"
    $TXT &= "726F6D00476574427974657300417272617900436F707900417474726962757465546172676574730041747472"
    $TXT &= "69627574655573616765417474726962757465004D61696E006172677300415F3000415F31002E6363746F7200"
    $TXT &= "415F3200415F330064006500660041000001003349006E00760061006C0069006400200070006100720061006D"
    $TXT &= "006500740065007200200065006E007400650072006500640000052D003F0001052F003F0000092D0064006500"
    $TXT &= "76000127700072006F006D007100720079002000760065007200730069006F006E00200031002E003000002D64"
    $TXT &= "006500760065006C006F007000650064002000620079002000540069006D0020005200610069006E0073000007"
    $TXT &= "2D006E00700001072F006E00700000072D006E00760001072F006E00760000033A0000692D006E00700020006F"
    $TXT &= "006E006C0079002000760061006C006900640020007700680065006E0020007100750065007200790069006E00"
    $TXT &= "67002000720061006E006700650020006F0066002000720065006D006F00740065002000730079007300740065"
    $TXT &= "006D007300017941006C006C0020007300770069007400630068006500730020006D0075007300740020006200"
    $TXT &= "650020007300700065006300690066006900650064002000410046005400450052002000740068006500200073"
    $TXT &= "0079007300740065006D00280073002900200074006F002000710075006500720079003A000071200020002000"
    $TXT &= "700072006F006D007100720079002E006500780065002000730074006100720074005F00720065006D006F0074"
    $TXT &= "0065005F00490050003A0065006E0064005F00720065006D006F00740065005F004900500020005B002D006E00"
    $TXT &= "70005D0020005B002D006E0076005D00016D49006E00760061006C0069006400200070006100720061006D0065"
    $TXT &= "00740065007200200065006E00740065007200650064003A002000620061006400200049005000200061006400"
    $TXT &= "6400720065007300730020006F007200200068006F007300740020006E0061006D006500005B560061006C0069"
    $TXT &= "00640020004900500020006100640064007200650073007300650073003A00200031002E0030002E0030002E00"
    $TXT &= "310020002D0020003200320033002E003200350035002E003200350035002E0032003500350001052F002F0000"
    $TXT &= "132F0072006F006F0074002F0057004D0049000027530074006100720074002000490050002000690073002000"
    $TXT &= "69006E00760061006C0069006400004D560061006C00690064002000720061006E00670065003A00200031002E"
    $TXT &= "0030002E0030002E00300020002D0020003200320033002E003200350035002E003200350035002E0032003500"
    $TXT &= "3500012345006E006400200049005000200069007300200069006E00760061006C006900640000435300740061"
    $TXT &= "007200740020004900500020006D0075007300740020006200650020006C006500730073002000740068006100"
    $TXT &= "6E00200065006E006400200049005000003B20006E006F00200072006500730070006F006E007300650020002D"
    $TXT &= "00200073006B0069007000700069006E0067002000710075006500720079000155490050002000720061006E00"
    $TXT &= "670065002000730070006500630069006600690065006400200063006F0075006C00640020006E006F00740020"
    $TXT &= "006200650020007200650063006F0067006E0069007A0065006400004154007200790020007300700065006300"
    $TXT &= "69006600790069006E00670020006100200064006900660066006500720065006E0074002000720061006E0067"
    $TXT &= "00650000052D003100011172006F006F0074002F0057004D00490000196C006F00630061006C00200073007900"
    $TXT &= "7300740065006D00000F4500720072006F0072003A002000001B6100630063006500730073002000640065006E"
    $TXT &= "0069006500640000216100630063006500730073002000690073002000640065006E0069006500640000535000"
    $TXT &= "72006F006D0071007200790020006D007500730074002000620065002000720075006E00200069006E00200074"
    $TXT &= "0068006500200063006F006E00740065007800740020006F006600200061006E0020000055610064006D006900"
    $TXT &= "6E006900730074007200610074006F00720020006F006E0020007400680065002000730079007300740065006D"
    $TXT &= "0020006200650069006E006700200071007500650072006900650064002E00001F440065007300630072006900"
    $TXT &= "7000740069006F006E00200020003A00200000174400650073006300720069007000740069006F006E00001F4F"
    $TXT &= "007000650072006100740069006F006E0020002000200020003A00200000134F00700065007200610074006900"
    $TXT &= "6F006E00001F50006100720061006D00650074006500720049006E0066006F003A002000001B50006100720061"
    $TXT &= "006D00650074006500720049006E0066006F00001F500072006F00760069006400650072002000200020002000"
    $TXT &= "20003A0020000019500072006F00760069006400650072004E0061006D00650000295300740061007400750073"
    $TXT &= "0043006F00640065002000200020003A0020007B0030003A0058007D0000155300740061007400750073004300"
    $TXT &= "6F0064006500004F0A003D003D003D003D003D003D003D003D003D003D003D003D003D003D003D003D003D003D"
    $TXT &= "003D003D003D003D003D003D003D003D003D003D003D003D003D003D003D003D003D003D003D003D0000517300"
    $TXT &= "65006C0065006300740020002A002000660072006F006D0020004D0053004E006400690073005F004300750072"
    $TXT &= "00720065006E0074005000610063006B0065007400460069006C00740065007200001351007500650072007900"
    $TXT &= "69006E006700200000072E002E002E00002F4E00640069007300430075007200720065006E0074005000610063"
    $TXT &= "006B0065007400460069006C00740065007200004750004F005300490054004900560045003A00200050007200"
    $TXT &= "6F006D0069007300630075006F007500730020006D006F0064006500200065006E00610062006C006500640021"
    $TXT &= "0000614E0045004700410054004900560045003A002000500072006F006D0069007300630075006F0075007300"
    $TXT &= "20006D006F00640065002000630075007200720065006E0074006C00790020004E004F005400200065006E0061"
    $TXT &= "0062006C0065006400000D41006300740069007600650000053A00200000294E006F00200069006E0066006F00"
    $TXT &= "72006D006100740069006F006E00200066006F0075006E006400001D530079007300740065006D002000530075"
    $TXT &= "006D006D0061007200790000774E0045004700410054004900560045003A0020006E006F00200069006E007400"
    $TXT &= "650072006600610063006500730020006F006E002000730079007300740065006D00200066006F0075006E0064"
    $TXT &= "00200069006E002000700072006F006D0069007300630075006F007500730020006D006F006400650000809150"
    $TXT &= "004F005300490054004900560045003A0020006100740020006C00650061007300740020006F006E0065002000"
    $TXT &= "69006E00740065007200660061006300650020006F006E002000730079007300740065006D0020007700610073"
    $TXT &= "00200066006F0075006E006400200069006E002000700072006F006D0069007300630075006F00750073002000"
    $TXT &= "6D006F0064006500005755006E00610062006C006500200074006F00200067006500740020006D006F00720065"
    $TXT &= "002000640065007400610069006C0073002000610062006F007500740020007400680065002000730079007300"
    $TXT &= "740065006D0000373D003D003D003D003D003D003D003D003D003D003D003D003D003D003D003D003D003D003D"
    $TXT &= "003D003D003D003D003D003D003D003D00003D5400680065002000520050004300200073006500720076006500"
    $TXT &= "7200200069007300200075006E0061007600610069006C00610062006C0065002E00004D53006F006D00650020"
    $TXT &= "0070006F0073007300690062006C0065002000630061007500730065007300200066006F007200200074006800"
    $TXT &= "6900730020006600610069006C007500720065003A00005320002D002000740068006500200073007900730074"
    $TXT &= "0065006D0020006200650069006E0067002000710075006500720069006500640020006900730020006E006F00"
    $TXT &= "740020006F006E006C0069006E006500015D20002D00200074006800650020006E006500740077006F0072006B"
    $TXT &= "00200063006F006E006E0065006300740069006F006E0020006200650074007700650065006E00200074006800"
    $TXT &= "69007300200063006C00690065006E0074002000015720002000200061006E0064002000740068006500200073"
    $TXT &= "0079007300740065006D0020006200650069006E00670020007100750065007200690065006400200069007300"
    $TXT &= "2000660069006C0074006500720065006400006320002D0020007400680065002000730079007300740065006D"
    $TXT &= "0020006200650069006E0067002000710075006500720069006500640020006900730020006200650068006900"
    $TXT &= "6E0064002000610020006600690072006500770061006C006C0020000157200020002000770068006900630068"
    $TXT &= "00200069007300200062006C006F0063006B0069006E0067002000740068006500200063006F006E006E006500"
    $TXT &= "6300740069006F006E00200061007400740065006D0070007400004D45006E0073007500720065002000740068"
    $TXT &= "00650020007400610072006700650074002000730079007300740065006D0020006900730020006F006E006C00"
    $TXT &= "69006E006500200061006E00640000456E006500740077006F0072006B00200063006F006E006E006500630074"
    $TXT &= "0069007600690074007900200069007300200061007600610069006C00610062006C0065002E0000055C005C00"
    $TXT &= "00175C0072006F006F0074005C00630069006D00760032000029570069006E00330032005F0043006F006D0070"
    $TXT &= "007500740065007200530079007300740065006D0000094E0061006D006500001F43006F006D00700075007400"
    $TXT &= "6500720020006E0061006D0065003A002000001144006F006D00610069006E003A002000000D44006F006D0061"
    $TXT &= "0069006E00002F43006F006D007000750074006500720020006D0061006E007500660061006300740075007200"
    $TXT &= "650072003A00200000194D0061006E00750066006100630074007500720065007200002143006F006D00700075"
    $TXT &= "0074006500720020006D006F00640065006C003A002000000B4D006F00640065006C00001F5000720069006D00"
    $TXT &= "61007200790020006F0077006E00650072003A00200000215000720069006D006100720079004F0077006E0065"
    $TXT &= "0072004E0061006D006500003555007300650072002000630075007200720065006E0074006C00790020006C00"
    $TXT &= "6F00670067006500640020006F006E003A002000001155007300650072004E0061006D006500002B570069006E"
    $TXT &= "00330032005F004F007000650072006100740069006E006700530079007300740065006D0000254F0070006500"
    $TXT &= "72006100740069006E0067002000730079007300740065006D003A002000000F430061007000740069006F006E"
    $TXT &= "00001D4F007200670061006E0069007A006100740069006F006E003A00200000194F007200670061006E006900"
    $TXT &= "7A006100740069006F006E000033500072006F006D007100720079002000760065007200730069006F006E0020"
    $TXT &= "0031002E0030002000750073006100670065000041510075006500720069006500730020007300790073007400"
    $TXT &= "65006D00280073002900200066006F007200200069006E00740065007200660061006300650073000037720075"
    $TXT &= "006E006E0069006E006700200069006E002000700072006F006D0069007300630075006F007500730020006D00"
    $TXT &= "6F0064006500004F54006F0020007100750065007200790020006C006F00630061006C00200073007900730074"
    $TXT &= "0065006D0027007300200069006E00740065007200660061006300650073002000720075006E003A00011D2000"
    $TXT &= "20002000700072006F006D007100720079002E00650078006500007F6E006F007400650073003A002000720065"
    $TXT &= "007400750072006E00730020007A00650072006F00200069006600200061006E007900200069006E0074006500"
    $TXT &= "720066006100630065007300200066006F0075006E006400200069006E002000700072006F006D006900730063"
    $TXT &= "0075006F007500730020006D006F00640065000077200020002000200020002000200072006500740075007200"
    $TXT &= "6E0073002000310020006900660020006E006F00200069006E0074006500720066006100630065007300200066"
    $TXT &= "006F0075006E006400200069006E002000700072006F006D0069007300630075006F007500730020006D006F00"
    $TXT &= "64006500004D2000200020002000200020002000720065007400750072006E0073002000390039002000690066"
    $TXT &= "0020006500720072006F007200200065006E0063006F0075006E00740065007200650064000071200020002000"
    $TXT &= "20002000200020002D006E007000200061006E00640020002D006E00760020006F007000740069006F006E0073"
    $TXT &= "00200061007200650020006E006F0074002000760061006C0069006400200066006F00720020006C006F006300"
    $TXT &= "61006C00200071007500650072007900015554006F00200071007500650072007900200061002000720065006D"
    $TXT &= "006F00740065002000730079007300740065006D0027007300200069006E007400650072006600610063006500"
    $TXT &= "73002000720075006E003A00015B200020002000700072006F006D007100720079002E00650078006500200072"
    $TXT &= "0065006D006F00740065005F004900500020007C002000720065006D006F00740065005F006E0061006D006500"
    $TXT &= "200020005B002D006E0076005D00017720002000200020002000200020002D006E00760020006D00650061006E"
    $TXT &= "00730020006E006F00200076006500720062006F007300650020006F00750074007000750074002C0020006F00"
    $TXT &= "6E006C00790020007200650070006F0072007400730020006500720072006F0072007300200061006E00640001"
    $TXT &= "6D20002000200020002000200020002000200020002000730079007300740065006D0073002000770069007400"
    $TXT &= "6800200069006E0074006500720066006100630065007300200069006E002000700072006F006D006900730063"
    $TXT &= "0075006F007500730020006D006F0064006500006754006F002000710075006500720079002000610020007200"
    $TXT &= "61006E006700650020006F0066002000720065006D006F00740065002000730079007300740065006D00730027"
    $TXT &= "00200069006E00740065007200660061006300650073002000720075006E003A00016F6E006F00740065007300"
    $TXT &= "3A002000730074006100720074005F00720065006D006F00740065005F004900500020006D0075007300740020"
    $TXT &= "006200650020006C006F0077006500720020007400680061006E00200065006E0064005F00720065006D006F00"
    $TXT &= "740065005F0049005000004B20002000200020002000200020002D006E00700020006D00650061006E00730020"
    $TXT &= "006E006F002000700069006E00670020006200650066006F007200650020007100750065007200790001692000"
    $TXT &= "2000200020002000200020002D006E00700020006F006E006C0079002000760061006C00690064002000770068"
    $TXT &= "0065006E0020007100750065007200790069006E0067002000720061006E006700650020006F00660020007300"
    $TXT &= "79007300740065006D00730001032E0000392F003A003B002C00210040002300240025005E002600280029002B"
    $TXT &= "003D007B007D007E0060002A003F003C003E007C0020005B005D0027000111700069006E00670069006E006700"
    $TXT &= "200000033000000534003500000D6600610069006C0065006400000F7300750063006300650073007300002F64"
    $TXT &= "0065007300740069006E006100740069006F006E00200075006E0072006500610063006800610062006C006500"
    $TXT &= "000F740069006D0065006F0075007400006FD15F6B718D4A49B21EB95B02A99DC90008B77A5C561934E08908B0"
    $TXT &= "3F5F7F11D50A3A042001010E0420010102050100000000170100143030303A303A312E312E313031392E313430"
    $TXT &= "31370320000102120C021245040001010E02120803000001010E032000080320000E050002020E0E0420010308"
    $TXT &= "052002080E08040001080E0600030E0E0E0E050002080E0E0520020E08080420010E08042001020E0500020E0E"
    $TXT &= "0E0400010E0E021249040001010802124102123D042000124D02124D0420011C0E0500020E1C1C050002010E1C"
    $TXT &= "160711020208080808080E0E0E0E0E120C123D12410803021251052002010E0E04200012550212550420001261"
    $TXT &= "02126102125904200012650212650420001269021269042000125D02125D0320001C011C021271040001011C03"
    $TXT &= "20000202126D0212751C0711020808080E0E12511255081259125D123D12410812611269126D02127902127D08"
    $TXT &= "20020112791280811107081279127D125112551259125908126103128085042001021C0C070A0808080E0E0E0E"
    $TXT &= "0E080306070408080E08042001080E0F070D0E0E0E0E080808080E0808080E1207100E0E0E0E08080808080808"
    $TXT &= "0808080802031280910C2003011180A11180A51180A90A2003011180AD1180B108031280950600011280950E03"
    $TXT &= "1280990720020112809508031280B50300000E06000112808D0E0312808D0620001D128095021210031280B904"
    $TXT &= "0001070E031280BD0900040812101D050808031280C10400010D08031280C50400010D0D040001080D031280C9"
    $TXT &= "060002071D0508060002071D0708030000080C2004081D05081180CD12809D0D2004081D05081180CD1012809D"
    $TXT &= "30071B12808D080812809112809512809912809D12809912809D08121008081D05080D0D081D070808071D051D"
    $TXT &= "050208020500011D0507031280D10C0005011280D1081280D108080E070708081D051D051D051D051D05040001"
    $TXT &= "08070407020808062001011180D5080100010000000000021235020602050001081D0E040100000002060804FF"
    $TXT &= "FFFFFF040800000002060502060703061D0502060E0328000E0000004C61000000000000000000006E61000000"
    $TXT &= "200000000000000000000000000000000000000000000060610000000000000000000000000000000000000000"
    $TXT &= "5F436F724578654D61696E006D73636F7265652E646C6C0000000000FF25002040000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000030003000000280000800E00000048000080100000006000"
    $TXT &= "008000000000000000000000000000000200020000007800008003000000900000800000000000000000000000"
    $TXT &= "0000000100007F0000A80000800000000000000000000000000000010001000000C00000800000000000000000"
    $TXT &= "000000000000010000000000D80000000000000000000000000000000000010000000000E80000000000000000"
    $TXT &= "000000000000000000010000000000F80000000000000000000000000000000000010000000000080100001881"
    $TXT &= "0000E8020000000000000000000000840000280100000000000000000000288500002200000000000000000000"
    $TXT &= "005085000004030000000000000000000028000000200000004000000001000400000000008002000000000000"
    $TXT &= "0000000000000000000000000000000000008000008000000080800080000000800080008080000080808000C0"
    $TXT &= "C0C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "0000000000007777777777777777777777777777700444444444444444444444444444447004FFFFFFFFFFFFFF"
    $TXT &= "FFFFFFFFFFFFF47004FFFFFFFFFFFFFFFFFFFFFFFFFFF47004FFFFFFFFFFFFFFFFFFFFFFFFFFF47004FFFFFFFF"
    $TXT &= "FFFFFFFFFFFFFFFFFFF47004FFFFFFFFFFFFFFFFFFFFFFFFFFF47004FFFFFFFFFFFFFFFFFFFFFFFFFFF47004FF"
    $TXT &= "FFFFFFFFFFFFFFFFFFFFFFFFF47004FFFFFFFFFFFFFFFFFFFFFFFFFFF47004FFFFFFFFFFFFFFFFFFFFFFFFFFF4"
    $TXT &= "7004FFFFFFFFFFFFFFFFFFFFFFFFFFF47004FFFFFFFFFFFFFFFFFFFFFFFFFFF47004FFFFFFFFFFFFFFFFFFFFFF"
    $TXT &= "FFFFF47004FFFFFFFFFFFFFFFFFFFFFFFFFFF47004FFFFFFFFFFFFFFFFFFFFFFFFFFF47004FFFFFFFFFFFFFFFF"
    $TXT &= "FFFFFFFFFFF47004FFFFFFFFFFFFFFFFFFFFFFFFFFF47004FFFFFFFFFFFFFFFFFFFFFFFFFFF47004FFFFFFFFFF"
    $TXT &= "FFFFFFFFFFFFFFFFF4700488888888888888888888888888847004444444444444444444444444444470044C4C"
    $TXT &= "4C4C4C4C4C4C4C4ECECE49747004CCCCCCCCCCCCCCCCCCCCCCCCCCC40000444444444444444444444444444000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000000180000001800000018000000180000001800000018000"
    $TXT &= "000180000001800000018000000180000001800000018000000180000001800000018000000180000001800000"
    $TXT &= "01800000018000000180000001800000018000000180000003C0000007FFFFFFFFFFFFFFFFFFFFFFFF28000000"
    $TXT &= "10000000200000000100040000000000C000000000000000000000000000000000000000000000000000800000"
    $TXT &= "8000000080800080000000800080008080000080808000C0C0C0000000FF0000FF000000FFFF00FF000000FF00"
    $TXT &= "FF00FFFF0000FFFFFF000000000000000000077777777777777744444444444444474FFFFFFFFFFFF8474FFFFF"
    $TXT &= "FFFFFFF8474FFFFFFFFFFFF8474FFFFFFFFFFFF8474FFFFFFFFFFFF8474FFFFFFFFFFFF8474FFFFFFFFFFFF847"
    $TXT &= "4FFFFFFFFFFFF84748888888888888474CCCCCCCCCCCCC47C4444444444444C000000000000000000000000000"
    $TXT &= "000000FFFF00008000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "0000000000000000000000010000FFFF0000FFFF00000000010002002020100001000400E80200000200101010"
    $TXT &= "0001000400280100000300000000000000040334000000560053005F00560045005200530049004F004E005F00"
    $TXT &= "49004E0046004F0000000000BD04EFFE0000010000000100CB5B410700000100CB5B41073F0000000000000004"
    $TXT &= "00000001000000000000000000000000000000440000000100560061007200460069006C00650049006E006600"
    $TXT &= "6F00000000002400040000005400720061006E0073006C006100740069006F006E00000000000000B004640200"
    $TXT &= "00010053007400720069006E006700460069006C00650049006E0066006F000000400200000100300030003000"
    $TXT &= "3000300034006200300000001C000200010043006F006D006D0065006E00740073000000200000002400020001"
    $TXT &= "0043006F006D00700061006E0079004E0061006D00650000000000200000002C0002000100460069006C006500"
    $TXT &= "4400650073006300720069007000740069006F006E00000000002000000040000F000100460069006C00650056"
    $TXT &= "0065007200730069006F006E000000000031002E0030002E0031003800350037002E0032003300340039003900"
    $TXT &= "0000000038000C00010049006E007400650072006E0061006C004E0061006D0065000000700072006F006D0071"
    $TXT &= "00720079002E0065007800650000002800020001004C006500670061006C0043006F0070007900720069006700"
    $TXT &= "680074000000200000002C00020001004C006500670061006C00540072006100640065006D00610072006B0073"
    $TXT &= "00000000002000000040000C0001004F0072006900670069006E0061006C00460069006C0065006E0061006D00"
    $TXT &= "65000000700072006F006D007100720079002E006500780065000000240002000100500072006F006400750063"
    $TXT &= "0074004E0061006D006500000000002000000044000F000100500072006F006400750063007400560065007200"
    $TXT &= "730069006F006E00000031002E0030002E0031003800350037002E00320033003400390039000000000048000F"
    $TXT &= "00010041007300730065006D0062006C0079002000560065007200730069006F006E00000031002E0030002E00"
    $TXT &= "31003800350037002E003200330034003900390000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "0000000000000000006000000C0000008031000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    $TXT &= "00000000000000000000"
    Return $TXT
    EndFunc
  • MemoryReduce
  • Func MemoryReduce($ProcID = 0)
    ; Original version : w_Outer
    ; modified by Rajesh V R to include process ID, Prog@ndy, Merrik
    Local $ai_Return, $ai_Handle
    Local $DllK = DllOpen("kernel32.dll")
    Local $DllP = DllOpen("psapi.dll")
    If $ProcID &lt;= 0 Then ; No process id specified - use current process instead.
    $ai_Return = DllCall($DllP, 'int', 'EmptyWorkingSet', 'ptr', -1)
    If @error Then Return SetError(1, 0, 0)
    Return $ai_Return[0]
    EndIf
    $ProcID = ProcessExists($ProcID)
    If $ProcID = 0 Then Return SetError(2, 0, 0)
    $ai_Handle = DllCall($DllK, 'ptr', 'OpenProcess', 'dword', 0x1f0fff, 'int', False, 'dword', $ProcID)
    If @error Or $ai_Handle[0] = 0 Then Return SetError(3, 0, 0)
    $ai_Return = DllCall($DllP, 'int', 'EmptyWorkingSet', 'ptr', $ai_Handle[0])
    If @error Then
    DllCall($DllK, 'int', 'CloseHandle', 'ptr', $ai_Handle[0])
    Return SetError(4, 0, 0)
    EndIf
    DllCall($DllK, 'int', 'CloseHandle', 'ptr', $ai_Handle[0])
    Return $ai_Return[0]
    DllClose($DllK)
    DllClose($DllP)
    EndFunc ;==&gt;_ReduceMemory
    Func MemoryReduceAll()
    Local $list = ProcessList()
    If Not @error Then
    For $i = 1 To $list[0][0]
    ReduceMemory($list[$i][1])
    Next
    EndIf
    EndFunc
  • MouseCapture
  • #include-once
    #include <Misc.au3>
    ; #FUNCTION# =================================================================================================
    ; Name...........: _Mouse_Capture()
    ; Description ...: Captures the x and y pos for a given time.
    ; Syntax.........: _Mouse_Capture($fTime, $fDelay = 10)
    ; Parameters ....: $fTime = For how long it should capture the movind mouse (Time in seconds).
    ; $fDelay = The capture delay (Default = 10).
    ; Errors ........: -
    ; Return values .: $_Return
    ; Author ........: Almar Mulder (AlmarM)
    ; Modified.......: -
    ; Remarks .......: -
    ; Related .......: _Mouse_Play()
    ; Link ..........: -
    ; Example .......: Yes
    ; #FUNCTION# =================================================================================================
    Func _Mouse_Capture($fTime, $fDelay = 10)
    Local $_PosX, $_PosY
    Local $_fDown[2] = [0, 0]
    Local $_Return[2]
    $_Start = TimerInit()
    Do
    $_Stop = TimerDiff($_Start)
    $_GetPos = MouseGetPos()
    $_PosX &= $_GetPos[0] & ","
    $_PosY &= $_GetPos[1] & ","
    If _IsPressed("01") Then
    If $_fDown[0] = 0 Then
    $_PosX &= $_GetPos[0] & "ld,"
    $_PosY &= $_GetPos[1] & "ld,"
    $_fDown[0] = 1
    EndIf
    Else
    If $_fDown[0] = 1 Then
    $_PosX &= $_GetPos[0] & "lu,"
    $_PosY &= $_GetPos[1] & "lu,"
    $_fDown[0] = 0
    EndIf
    EndIf
    If _IsPressed("02") Then
    If $_fDown[1] = 0 Then
    $_PosX &= $_GetPos[0] & "rd,"
    $_PosY &= $_GetPos[1] & "rd,"
    $_fDown[1] = 1
    EndIf
    Else
    If $_fDown[1] = 1 Then
    $_PosX &= $_GetPos[0] & "ru,"
    $_PosY &= $_GetPos[1] & "ru,"
    $_fDown[1] = 0
    EndIf
    EndIf
    Sleep($fDelay)
    Until $_Stop >= $fTime * 1000
    $_Return[0] = $_PosX
    $_Return[1] = $_PosY
    Return $_Return
    EndFunc
    ; #FUNCTION# =================================================================================================
    ; Name...........: _Mouse_Play()
    ; Description ...: Plays the captured mouse path.
    ; Syntax.........: _Mouse_Play($fCapture, $fSpeed = 1)
    ; Parameters ....: $fCapture = The captured _Mouse_Capture variable.
    ; $fSpeed = The speed the mouse should move (Default = 1).
    ; Errors ........: -
    ; Return values .: -
    ; Author ........: Almar Mulder (AlmarM)
    ; Modified.......: -
    ; Remarks .......: -
    ; Related .......: _Mouse_Capture()
    ; Link ..........: -
    ; Example .......: Yes
    ; #FUNCTION# =================================================================================================
    Func _Mouse_Play($fCapture, $fSpeed = 1)
    $_Trim_x = StringTrimRight($fCapture[0], 1)
    $_Trim_y = StringTrimRight($fCapture[1], 1)
    $_Split_x = StringSplit($_Trim_x, ",")
    $_Split_y = StringSplit($_Trim_y, ",")
    $_Max = $_Split_x[0]
    For $_i = 1 To $_Max
    MouseMove($_Split_x[$_i], $_Split_y[$_i], $fSpeed)
    If StringRight($_Split_x[$_i], 2) = "ld" Then MouseDown("left")
    If StringRight($_Split_x[$_i], 2) = "lu" Then MouseUp("left")
    If StringRight($_Split_x[$_i], 2) = "rd" Then MouseDown("right")
    If StringRight($_Split_x[$_i], 2) = "ru" Then MouseUp("right")
    Next
    EndFunc
  • NetworkUsage
  • #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <WinAPIEx.au3 >
    HotKeySet("{ESC}","_Exit")
    $hSplash=SplashTextOn("Network Usage Information","",550,100,Default,Default,16,Default,10)
    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    $strComputer = "localhost"
    $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
    while 1
    $colItems = $objWMIService.ExecQuery("SELECT BytesReceivedPersec,BytesSentPersec FROM Win32_PerfRawData_Tcpip_NetworkInterface", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If IsObj($colItems) then
    For $objItem In $colItems
    $in = $objItem.BytesReceivedPersec
    $out = $objItem.BytesSentPersec
    $intext = @CR& "Downloaded: " &$in &" Byte = "&Round($in/1048576) &" MB = "& _WinAPI_StrFormatByteSize($in) &@CR
    $outtext = "Uploaded: " &$out &" Byte = "&Round($out/1048576) &" MB = "& _WinAPI_StrFormatByteSize($out) &@CR
    $text=$intext&$outtext
    ControlSetText($hSplash,"","[CLASS:Static; INSTANCE:1]",$text)
    sleep(500)
    ExitLoop
    Next
    EndIf
    WEnd
    Func _Exit()
    SplashOff()
    Exit
    Endfunc
  • ProcessSuspend
  • Func _ProcessSuspend($process)
    $processid = ProcessExists($process)
    If $processid Then
    $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $processid)
    $i_sucess = DllCall("ntdll.dll","int","NtSuspendProcess","int",$ai_Handle[0])
    DllCall('kernel32.dll', 'ptr', 'CloseHandle', 'ptr', $ai_Handle)
    If IsArray($i_sucess) Then
    Return 1
    Else
    SetError(1)
    Return 0
    Endif
    Else
    SetError(2)
    Return 0
    Endif
    EndFunc
    Func _ProcessResume($process)
    $processid = ProcessExists($process)
    If $processid Then
    $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $processid)
    $i_sucess = DllCall("ntdll.dll","int","NtResumeProcess","int",$ai_Handle[0])
    DllCall('kernel32.dll', 'ptr', 'CloseHandle', 'ptr', $ai_Handle)
    If IsArray($i_sucess) Then
    Return 1
    Else
    SetError(1)
    Return 0
    Endif
    Else
    SetError(2)
    Return 0
    Endif
    EndFunc
  • ScrollingCredits
  • ; #FUNCTION# ====================================================================================================================
    ; Name ..........: _ScrollingCredits
    ; Description ...: Create a scrolling credits control.
    ; Syntax ........: _ScrollingCredits($sText, $iLeft, $iTop, $iWidth, $iHeight[, $sTipText = ""[, $iDirection = 1[,
    ; $iCenter = 0[, $sFontFamily = "Ms Shell"[, $iFontSize = 14]]]]])
    ; Parameters ....: $sText - Text string of the credits.
    ; $iLeft - The left side position of the control.
    ; $iTop - The top position of the control.
    ; $iWidth - The width of the control.
    ; $iHeight - The height of the control.
    ; $sTipText - [optional] Text string to be shown when the user hovers over the control. Default is "".
    ; $iDirection - [optional] Direction of the scrolling credits. 1 = bottom to top & 2 = top to bottom. Default is 1.
    ; $iCenter - [optional] Center the text string. 1 = center the text string or 0 = position to the left side. Default is 0.
    ; $sFontFamily - [optional] Font family name. Default is "Ms Shell".
    ; $iFontSize - [optional] Size of the font. Default is 14.
    ; Return values .: ID returned by ObjCreate or returns -1 and sets @error to non-zero.
    ; Author ........: guinness
    ; Modified ......:
    ; Remarks .......: I used Melba's Marquee UDF for inspiration. [http://www.autoitscript.com/forum/topic/103904-info-bar-like-tickertape/page__p__735769#entry735769]
    ; WinAPI.au3 & WindowsConstants.au3 should be included at the top of the script.
    ; Related .......:
    ; Link ..........:
    ; Example .......: Yes
    ; ===============================================================================================================================
    Func _ScrollingCredits($sText, $iLeft, $iTop, $iWidth, $iHeight, $sTipText = "", $iDirection = 1, $iCenter = 0, $sFontFamily = "Ms Shell", $iFontSize = 14)
    Local $iControlObject, $oShellObject, $sCenterEnd = "", $sCenterStart = "", $sDirection
    If $iCenter Then
    $sCenterStart = "<center>"
    $sCenterEnd = "</center>"
    EndIf
    Switch $iDirection
    Case 1
    $sDirection = "up"
    Case Else ; 2.
    $sDirection = "down"
    EndSwitch
    $sText = StringRegExpReplace($sText, '\r\n|\r|\n', "<br>") ; Replace @CRLF, @CR & @LF with <br>.
    $oShellObject = ObjCreate("Shell.Explorer.2")
    If IsObj($oShellObject) = 0 Then
    Return SetError(1, 0, -1)
    EndIf
    $iControlObject = GUICtrlCreateObj($oShellObject, $iLeft, $iTop, $iWidth, $iHeight)
    $oShellObject.navigate("about:blank")
    ;~ While $oShellObject.busy
    ;~ Sleep(100)
    ;~ WEnd
    With $oShellObject.document
    .write('<style>marquee{cursor: default}></style>')
    .write('<body onselectstart="return false" oncontextmenu="return false" onclick="return false" ondragstart="return false" ondragover="return false">')
    .writeln('<marquee width=100% height=100%')
    .writeln('loop="0"')
    .writeln('behavior="scroll"')
    .writeln('direction="' & $sDirection & '"')
    .writeln('scrollamount="2"')
    .writeln('scrolldelay="8"')
    .write(">")
    .writeln($sCenterStart)
    .write($sText)
    .writeln($sCenterEnd)
    .writeln('</marquee>')
    .body.title = $sTipText
    .body.topmargin = 0
    .body.leftmargin = 0
    .body.scroll = "no"
    .body.style.backgroundColor = 0xFFFFFF;Hex(_WinAPI_GetSysColor($COLOR_MENU), 6)
    .body.style.color = 0x000000 ;Hex(_WinAPI_GetSysColor($COLOR_WINDOWTEXT), 6)
    .body.style.borderWidth = 0
    .body.style.fontFamily = $sFontFamily
    .body.style.fontSize = $iFontSize
    EndWith
    ;~ ConsoleWrite($oShellObject.document.body.innerHTML() & @LF)
    Return $iControlObject
    EndFunc ;==>_ScrollingCredits
  • TextToSpeech
  • ; #FUNCTION# ====================================================================================================================
    ; Name...........: _StartTTS
    ; Description ...: Creates a object to be used with Text-to-Speak Functions.
    ; Syntax.........: _StartTTS()
    ; Parameters ....:
    ; Return values .: Success - Returns a object
    ; Author ........: bchris01
    ; Example .......: Yes
    ; ===============================================================================================================================
    Func _StartTTS()
    Return ObjCreate("SAPI.SpVoice")
    EndFunc ;==>_StartTTS
    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _SetRate
    ; Description ...: Sets the rendering rate of the voice. (How fast the voice talks.)
    ; Syntax.........: _SetRate(ByRef $Object, $iRate)
    ; Parameters ....: $Object - Object returned from _StartTTS().
    ; $iRate - Value specifying the speaking rate of the voice. Supported values range from -10 to 10
    ; Return values .: None
    ; Author ........: bchris01
    ; Example .......: Yes
    ; ===============================================================================================================================
    Func _SetRate(ByRef $Object, $iRate); Rates can be from -10 to 10
    $Object.Rate = $iRate
    EndFunc ;==>_SetRate
    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _SetVolume
    ; Description ...: Sets the volume of the voice.
    ; Syntax.........: _SetVolume(ByRef $Object, $iVolume)
    ; Parameters ....: $Object - Object returned from _StartTTS().
    ; $iVolume - Value specifying the volume of the voice. Supported values range from 0-100. Default = 100
    ; Return values .: None
    ; Author ........: bchris01
    ; Example .......: Yes
    ; ===============================================================================================================================
    Func _SetVolume(ByRef $Object, $iVolume);Volume
    $Object.Volume = $iVolume
    EndFunc ;==>_SetVolume
    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _SetVoice
    ; Description ...: Sets the identity of the voice used for text synthesis.
    ; Syntax.........: _SetVoice(ByRef $Object, $sVoiceName)
    ; Parameters ....: $Object - Object returned from _StartTTS().
    ; $sVoiceName - String matching one of the voices installed.
    ; Return values .: Success - Sets object to voice.
    ; Failure - Sets @error to 1
    ; Author ........: bchris01
    ; Example .......: Yes
    ; ===============================================================================================================================
    Func _SetVoice(ByRef $Object, $sVoiceName)
    Local $VoiceNames, $VoiceGroup = $Object.GetVoices
    For $VoiceNames In $VoiceGroup
    If $VoiceNames.GetDescription() = $sVoiceName Then
    $Object.Voice = $VoiceNames
    Return
    EndIf
    Next
    Return SetError(1)
    EndFunc ;==>_SetVoice
    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _GetVoices
    ; Description ...: Retrives the currently installed voice identitys.
    ; Syntax.........: _GetVoices(ByRef $Object[, $Return = True])
    ; Parameters ....: $Object - Object returned from _StartTTS().
    ; $bReturn - String of text you want spoken.
    ; |If $bReturn = True then a 0-based array is returned.
    ; |If $bReturn = False then a string seperated by delimiter "|" is returned.
    ; Return values .: Success - Returns an array or string containing installed voice identitys.
    ; Author ........: bchris01
    ; Example .......: Yes
    ; ===============================================================================================================================
    Func _GetVoices(ByRef $Object, $bReturn = True)
    Local $sVoices, $VoiceGroup = $Object.GetVoices
    For $Voices In $VoiceGroup
    $sVoices &= $Voices.GetDescription() & '|'
    Next
    If $bReturn Then Return StringSplit(StringTrimRight($sVoices, 1), '|', 2)
    Return StringTrimRight($sVoices, 1)
    EndFunc ;==>_GetVoices
    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _Speak
    ; Description ...: Speaks the contents of the text string.
    ; Syntax.........: _Speak(ByRef $Object, $sText)
    ; Parameters ....: $Object - Object returned from _StartTTS().
    ; $sText - String of text you want spoken.
    ; Return values .: Success - Speaks the text.
    ; Author ........: bchris01
    ; Example .......: Yes
    ; ===============================================================================================================================
    Func _Speakz(ByRef $Object, $sText)
    $Object.Speak($sText)
    EndFunc ;==>_Speak
  • WindowsFirewall
  • #include <Array.au3>
    #include <Process.au3>
    #include <Constants.au3>
    #include <File.au3>
    ; ===========================================================================================================================
    ; Title .........: Windows Firewall UDF
    ; AutoIt Version : 3.3.8.0
    ; UDF Version ...: 1.0
    ; Language ......: English
    ; Description ...: Functions for manipulating the Windows Firewall
    ; OS Support.....: Tested on XP and Windows 7 (x86 and x64)
    ; Author.........: Yagami Raito
    ;
    ; Function List:
    ; ==================
    ; _EnableFirewall
    ; _advFirewall_AddRule
    ; _advFirewall_SetRule
    ; _advFirewall_DeleteRule
    ; _advFirewall_ShowRule
    ; _advFirewall_IsExistRule
    ; _RestoreDefault
    ;============================================================================================================================
    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _advFirewall_DeleteRule
    ; Description ...: Shows the Windows Firewall Rules
    ; Syntax.........: _advFirewall_DeleteRule($Dir,$Name,$Program)
    ; Parameters ....: $Dir : in/out - inboud/outbound rules
    ; $Name - Name of the specified rule , use 'all' if show all rules.
    ; $Program - Name of the program in rule
    ; Notification...: None
    ; Example........: None
    ; ===============================================================================================================================
    Func _advFirewall_DeleteRule($Dir, $Name, $Program = '')
    If $Program Then
    _RunDos('netsh advfirewall firewall delete rule name="' & $Name & '" dir=' & $Dir & ' program="' & $Program & '"')
    Else
    _RunDos('netsh advfirewall firewall delete rule name="' & $Name & '" dir=' & $Dir)
    EndIf
    EndFunc ;==>_advFirewall_DeleteRule
    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _advFirewall_IsExistRule
    ; Description ...: Check if the specificed Windows Firewall Rules exist
    ; Syntax.........: _advFirewall_IsExistRule($Dir,$Name)
    ; Parameters ....: $Dir : in/out - inboud/outbound rules
    ; $Name - Name of the specified rule , use 'all' if show all rules.
    ; Notification...: None
    ; Example........: _advFirewall_IsExistRule('out','sss')
    ; ===============================================================================================================================
    Func _advFirewall_IsExistRule($Dir, $Name)
    $result = Run(@ComSpec & ' /c netsh advfirewall firewall show rule name="' & $Name & '" dir=' & $Dir, @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
    Local $line = ''
    While 1
    $line = $line & StdoutRead($result)
    If @error Then ExitLoop
    WEnd
    If StringInStr($line, 'No rules match the specified criteria.') Then
    Return False
    Else
    Return True
    EndIf
    EndFunc ;==>_advFirewall_IsExistRule
    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _advFirewall_ShowRule
    ; Description ...: Shows the Windows Firewall Rules
    ; Syntax.........: _advFirewall_ShowRule($Dir,$Name='all',$Profile='any',$Type='static',$Verbose)
    ; Parameters ....: $Dir : in/out - inboud/outbound rules
    ; $Name - Name of the specified rule , use 'all' if show all rules.
    ; $Profile : public|private|domain - default: 'any'
    ; $Type : static/dynamic - default: 'static'
    ; $Verbose : true/false - default false
    ; Notification...: None
    ; Example........: _advFirewall_ShowRule('out')
    ; ===============================================================================================================================
    Func _advFirewall_ShowRule($Dir, $Name = 'all', $Profile = 'any', $Type = 'static', $Verbose = False)
    If $Verbose Then
    $result = Run(@ComSpec & ' /c netsh advfirewall firewall show rule name="' & $Name & '" profile=' & $Profile & ' dir=' & $Dir & ' type=' & $Type & ' verbose', @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
    Else
    $result = Run(@ComSpec & ' /c netsh advfirewall firewall show rule name="' & $Name & '" profile=' & $Profile & ' dir=' & $Dir & ' type=' & $Type, @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
    EndIf
    Local $line = ''
    While 1
    $line = $line & StdoutRead($result)
    If @error Then ExitLoop
    WEnd
    $open = FileOpen('result.log', 10)
    FileWrite($open, $line)
    FileClose($open)
    Return $line
    EndFunc ;==>_advFirewall_ShowRule
    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _EnableFirewall
    ; Description ...: Enables the Windows Firewall
    ; Syntax.........: _EnableFirewall()
    ; Parameters ....: None
    ; Notification...: Message Box if Firewall is already enabled.
    ; Example........: _EnableFirewall()
    ; ===============================================================================================================================
    Func _EnableFirewall()
    If @OSArch = "X64" Then
    $fwMgr = ObjCreate("HNetCfg.FwPolicy2")
    $Profile = $fwMgr.CurrentProfileTypes
    MsgBox(0, '', $Profile)
    If $fwMgr.FirewallEnabled($Profile) = False Then
    $fwMgr.FirewallEnabled($Profile) = True
    Else
    MsgBox(0, "", "The Firewall is already enabled.")
    EndIf
    Else
    $fwMgr = ObjCreate("HNetCfg.FwMgr")
    $Profile = $fwMgr.LocalPolicy.CurrentProfile
    ;MsgBox(0,'',$profile.Profile)
    If $Profile.FirewallEnabled = False Then
    $Profile.FirewallEnabled = True
    Else
    MsgBox(0, "", "The Firewall is already enabled.")
    EndIf
    EndIf
    EndFunc ;==>_EnableFirewall
    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _RestoreDefault
    ; Description ...: Restores the default Windows Firewall configuration.
    ; Syntax.........: _RestoreDefault()
    ; Parameters ....: None
    ; Example........: _RestoreDefault()
    ; ===============================================================================================================================
    Func _RestoreDefault()
    $fwMgr = ObjCreate("HNetCfg.FwMgr")
    $fwMgr.RestoreDefaults()
    EndFunc ;==>_RestoreDefault