1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. RechterWinkel

Beiträge von RechterWinkel

  • SideBar für XP

    • RechterWinkel
    • 29. Juli 2009 um 09:13

    Der Link springt doch echt ins Auge *fg*


    http://www.autoitscript.com/forum/index.php?app=core&module=attach&section=attach&attach_id=24203

    XSkin.au3
    [autoit]

    ; XSkin.au3 v1.4.1 Jan. 22, 2009
    ; ,,,, Valuater
    #cs
    ;===============================================================================
    ; The following is required
    ;===============================================================================

    [/autoit] [autoit][/autoit] [autoit]

    #include <XSkin.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ; required, your skin folder location
    $Skin_Folder = FileReadLine(@ScriptDir & "\Skins\Default.txt", 1)
    If Not FileExists($Skin_Folder) Then $Skin_Folder = FileSelectFolder ( "Skin Folders", @ScriptDir & "\Skins", 2)

    [/autoit] [autoit][/autoit] [autoit]

    ; option, automatic mouse-over color for "your" controls use $XSkinID[ ]
    ; see Autoit Limits in help for GUICtrlSetBkColor()
    Dim $XSkinID[6] ; the amount of controls you want "mouse overed" +1, see example below

    [/autoit] [autoit][/autoit] [autoit]

    ; required, set the GUI Width, Height and Title
    $guiWidth = 400
    $guiHeight = 450
    $guiTitle = "XSkin"
    $guiHeader = 1 ; Title bar, -1 = show with Max/Min/Close, 0 = show title only, 1 = no show ( optional, default is no show )
    $guiCorners = 25 ; 0 = no rounded corners, ( optional, default is rounded with "arc" of 25)

    [/autoit] [autoit][/autoit] [autoit]

    ; required, create the XSkin GUI
    $XSkinGui = XSkinGUICreate( $guiTitle, $guiWidth, $guiHeight, $Skin_Folder, $guiHeader, $guiCorners)
    ; or $XSkinGui = XSkinGUICreate( $guiTitle, $guiWidth, $guiHeight, $Skin_Folder) ; uses defaults

    [/autoit] [autoit][/autoit] [autoit]

    ; option, create Title Bar Icons - returns array[]
    ; 1 = Exit only, 2 = Mnimize/Exit, 3 = Help/Minimize/Exit
    $Icon_Folder = @ScriptDir & "\Skins\Default"
    $XIcon = XSkinIcon($XSkinGui, 2)
    ; $XIcon[1] = Exit, $XIcon[2] = Mnimize, $XIcon[3] = Help

    [/autoit] [autoit][/autoit] [autoit]

    ; option, in while loop - if you want mouse over control colors and/or Mouseover GUI options below
    ; Mouseover()

    [/autoit] [autoit][/autoit] [autoit]

    ; Mouseover() options default = no GUI action
    ; Mouseover(1) = Fade Active GUI for non use
    ; Mouseover(2) = Slide Active GUI to top of Screen for non-use
    ; You may add the numbers above, example = Mouseover(1 + 2)

    [/autoit] [autoit][/autoit] [autoit]

    ; option, icon button with text - no color
    ; XSkinIconButton($BItext, $BIleft, $BItop, $BIwidth, $BIheight, $BIconNum = 0, $BIDLL = "shell32.dll")

    [/autoit] [autoit][/autoit] [autoit]

    ; option, you can use the following theme colors
    ; $over_color, $btn_color, $bkg_color, $fnt_color

    [/autoit] [autoit][/autoit] [autoit]

    ; option, for colored controls use the following.... or you can use autoit commands
    ; XSkinButton($Btext, $Bleft, $Btop, $Bwidth, $Bheight, $event_function = "")
    ; XSkinButtonSetState($XSkinButton, $XSkinMode); $GUI_HIDE or $GUI_SHOW Only
    ; XSkinMsgBox($MBTitle, $MBText); OK & Cancel buttons
    ; XSkinMsgBoxOK($MBTitle, $MBText); OK button only
    ; XSkinInputBox($IBTitle, $IBText, $IBDefault = "")
    ; XSkinProgress($Pleft, $Ptop, $Pwidth, $Pheight)
    ; XSkinTrayBox($TBTitle, $TBText)
    ;
    ;===============================================================================
    ; Now.... you are on your own
    ;===============================================================================
    #ce
    #include-once
    #include <GUIConstantsEx.au3>
    If @AutoItVersion > "3.2.10" Then
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>
    #include <ButtonConstants.au3>
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ;Opt("MustDeclareVars", 1)
    Dim $CtrlIDA[1], $CtrlIDB[1], $CtrlIDC[1], $CtrlIDMA[3], $CtrlIDMB[3], $XS_gui[1], $Skin_Folder, $Icon_Folder, $iLoop, $XS_debug = 0
    Dim $over_color, $btn_color, $bkg_color, $fnt_color, $tile_size, $XS_TMB, $XS_TMA, $SKBox_[2], $XSkinID[1]
    Dim $XSolid = 1, $XSlid = 1, $XSlid1, $XSlid2, $XSlid3, $XSlpr, $XS_Isize, $XS_Istyle, $XadjLt, $XadjDn, $XStrans = 200
    Dim $GlobalHeader, $GlobalCorners, $Globalcolor, $CtrlButton[1][4]
    If $XS_debug Then Opt("TrayIconDebug", 1)
    Func XSkinGUICreate($XS_guiTitle, $XS_width, $XS_height, $Skin_Folder, $guiHeader = 1, $guiCorners = 25)
    If Not FileExists($Skin_Folder) Then XSkinError("The $Skin_Folder was not found")
    $GlobalCorners = $guiCorners
    $GlobalHeader = $guiHeader
    $bkg_color = IniRead($Skin_Folder & "\Skin.dat", "color", "background", 0xD9F6FF)
    $btn_color = IniRead($Skin_Folder & "\Skin.dat", "color", "button", 0xD9F6FF)
    $over_color = IniRead($Skin_Folder & "\Skin.dat", "color", "mouseover", 0xD9F6FF)
    $fnt_color = IniRead($Skin_Folder & "\Skin.dat", "color", "fontcolor", 0x000000)
    $tile_size = IniRead($Skin_Folder & "\Skin.dat", "settings", "size", 20)
    $XS_Istyle = IniRead($Skin_Folder & "\Skin.dat", "icon", "style", "Standard")
    $XS_Isize = IniRead($Skin_Folder & "\Skin.dat", "icon", "Isize", 17)
    $XadjLt = IniRead($Skin_Folder & "\Skin.dat", "icon", "adjustleft", 20)
    $XadjDn = IniRead($Skin_Folder & "\Skin.dat", "icon", "adjustdown", 20)
    Local $elements[8]
    If $XS_width < 100 Then $XS_width = 100
    If $XS_height < 50 Then $XS_height = 50
    If $tile_size < 15 Then $tile_size = 15
    For $XS_px = 0 To 7
    $elements[$XS_px] = $Skin_Folder & "\" & $XS_px & ".bmp"
    If Not FileExists($elements[$XS_px]) Then XSkinError("A skin picture was not found #" & $XS_px & " ")
    Next
    If IsArray($XSkinID) And UBound($XSkinID) >= 2 Then $iLoop = 1
    Local $guiHeader2 = $guiHeader
    If $guiHeader >= 1 Then
    $guiHeader2 = $WS_POPUP
    ElseIf $guiHeader = 0 Then
    $XS_height = $XS_height + 32
    $XS_width = $XS_width + 6
    EndIf
    ReDim $XS_gui[UBound($XS_gui) + 1]
    $XS_TMA = UBound($XS_gui) - 1
    $XS_gui[$XS_TMA] = GUICreate($XS_guiTitle, $XS_width, $XS_height, -1, -1, $guiHeader2)
    If Not $Globalcolor = 1 Then GUISetBkColor($bkg_color)
    If $guiHeader = 0 Then
    $XS_height = $XS_height - 32
    $XS_width = $XS_width - 6
    EndIf
    GUICtrlCreatePic($elements[0], 0, 0, $tile_size, $tile_size, $WS_CLIPSIBLINGS)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreatePic($elements[2], ($XS_width - $tile_size), 0, $tile_size, $tile_size, $WS_CLIPSIBLINGS)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreatePic($elements[5], 0, ($XS_height - $tile_size), $tile_size, $tile_size, $WS_CLIPSIBLINGS)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreatePic($elements[7], ($XS_width - $tile_size), ($XS_height - $tile_size), $tile_size, $tile_size, $WS_CLIPSIBLINGS)
    For $XS_i = 0 To (Ceiling($XS_width / $tile_size) - 3)
    GUICtrlCreatePic($elements[1], ($tile_size * ($XS_i + 1)), 0, $tile_size, $tile_size, BitOR($SS_NOTIFY, $WS_CLIPSIBLINGS), $GUI_WS_EX_PARENTDRAG)
    If $XS_i > ((Ceiling($XS_width / $tile_size) - 3) / 3) * 2 Then GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreatePic($elements[6], ($tile_size * ($XS_i + 1)), ($XS_height - $tile_size), $tile_size, $tile_size, $WS_CLIPSIBLINGS)
    GUICtrlSetState(-1, $GUI_DISABLE)
    Next
    For $XS_i = 0 To (Ceiling($XS_height / $tile_size) - 3)
    GUICtrlCreatePic($elements[3], 0, ($tile_size * ($XS_i + 1)), $tile_size, $tile_size, $WS_CLIPSIBLINGS)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreatePic($elements[4], ($XS_width - $tile_size), ($tile_size * ($XS_i + 1)), $tile_size, $tile_size, $WS_CLIPSIBLINGS)
    GUICtrlSetState(-1, $GUI_DISABLE)
    Next
    GUICtrlCreatePic($elements[0], 0, 0, $tile_size, $tile_size, $WS_CLIPSIBLINGS)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreatePic($elements[2], ($XS_width - $tile_size), 0, $tile_size, $tile_size, $WS_CLIPSIBLINGS)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreatePic($elements[5], 0, ($XS_height - $tile_size), $tile_size, $tile_size, $WS_CLIPSIBLINGS)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreatePic($elements[7], ($XS_width - $tile_size), ($XS_height - $tile_size), $tile_size, $tile_size, $WS_CLIPSIBLINGS)
    If $XS_debug Then ConsoleWrite("gui = " & $XS_gui[$XS_TMA] & " Error = " & @error & @CRLF)
    If $guiCorners Then _GuiRoundCorners($XS_gui[$XS_TMA], 0, 0, $guiCorners, $guiCorners)
    Return $XS_gui[$XS_TMA]
    EndFunc ;==>XSkinGUICreate
    Func Mouseover($XSHover = 0)
    Local $XS_msg, $XS_Hvr, $XSlid0
    For $XS_t = 1 To $XS_TMA
    ;If $XS_debug Then ToolTip("Window Number = " & $XS_t & @CRLF & "XSkin GUI # = " & $XS_gui[$XS_t] & @CRLF & "Window State = " & WinGetState($XS_gui[$XS_t]), 10, 10, "XSkin Debug Mode = On", 1)
    If WinActive($XS_gui[$XS_t]) Then
    $XS_msg = GUIGetCursorInfo($XS_gui[$XS_t])
    For $XS_x = 1 To UBound($CtrlIDA) - 1
    If IsArray($XS_msg) And $XS_msg[4] == $CtrlIDA[$XS_x] Then
    GUICtrlSetBkColor($CtrlIDA[$XS_x], $over_color)
    While IsArray($XS_msg) And $XS_msg[4] == $CtrlIDA[$XS_x]
    $XS_msg = GUIGetCursorInfo($XS_gui[$XS_t])
    If IsArray($XS_msg) And $XS_msg[2] = "1" Then
    GUICtrlSetStyle($CtrlIDB[$XS_x], $SS_ETCHEDFRAME)
    Sleep(170)
    GUICtrlSetStyle($CtrlIDB[$XS_x], $SS_NOTIFY + $SS_GRAYRECT)
    If $CtrlIDC[$XS_x] = "" And $XS_x <> 0 Then
    GUICtrlSetBkColor($CtrlIDA[$XS_x], $btn_color)
    Return $XS_x ;ExitLoop
    EndIf
    Call($CtrlIDC[$XS_x])
    EndIf
    Sleep(5)
    WEnd
    GUICtrlSetBkColor($CtrlIDA[$XS_x], $btn_color)
    $XSlpr = 0
    Return
    EndIf
    Next
    If WinActive($XS_gui[$XS_t]) And IsArray($XS_msg) And $iLoop Then
    For $XS_s = 1 To UBound($XSkinID) - 1
    If $XSkinID[$XS_s] == $XS_msg[4] Then
    GUICtrlSetBkColor($XSkinID[$XS_s], $over_color)
    While WinActive($XS_gui[$XS_t]) And IsArray($XS_msg)
    $XS_msg = GUIGetCursorInfo($XS_gui[$XS_t])
    If $XS_msg[4] <> $XSkinID[$XS_s] Then ExitLoop
    Sleep(5)
    WEnd
    GUICtrlSetBkColor($XSkinID[$XS_s], $GUI_BKCOLOR_TRANSPARENT)
    $XSlpr = 0
    EndIf
    Next
    EndIf
    If $XSHover = 1 Or $XSHover = 3 Then
    $XS_Hvr = WinGetPos($XS_gui[$XS_t])
    If WinActive($XS_gui[$XS_t]) And IsArray($XS_msg) And IsArray($XS_Hvr) Then
    If $XS_msg[0] < 0 Or $XS_msg[1] < 0 Or $XS_msg[0] > $XS_Hvr[2] Or $XS_msg[1] > $XS_Hvr[3] Then
    If $XSolid Then
    $XSlpr = $XSlpr + 1
    If $XSlpr < 150 Then ExitLoop
    $XSlpr = 0
    $XSolid = 0
    For $XS_fd = 254 To $XStrans Step -1
    WinSetTrans($XS_gui[$XS_t], "", $XS_fd)
    Sleep(10)
    Next
    EndIf
    ElseIf $XSolid = 0 Then
    $XSolid = 1
    WinSetTrans($XS_gui[$XS_t], "", 255)
    EndIf
    EndIf
    EndIf
    If $XSHover = 2 Or $XSHover = 3 Then
    $XS_Hvr = WinGetPos($XS_gui[$XS_t])
    If WinActive($XS_gui[$XS_t]) And IsArray($XS_msg) And IsArray($XS_Hvr) Then
    If $XS_msg[0] < 0 Or $XS_msg[1] < 0 Or $XS_msg[0] > $XS_Hvr[2] Or $XS_msg[1] > $XS_Hvr[3] Then
    If $XSlid Then
    $XSlpr = $XSlpr + 1
    If $XSlpr < 300 Then ExitLoop
    $XSlpr = 0
    $XSlid = 0
    $XSlid0 = $XS_Hvr[3] - $tile_size
    $XSlid1 = $XS_Hvr[1]
    $XSlid2 = $XSlid0 - $XSlid0 - $XSlid0
    For $XS_H = $XSlid1 To $XSlid2 Step -1
    WinMove($XS_gui[$XS_t], "", $XS_Hvr[0], $XS_H)
    Next
    EndIf
    ElseIf $XSlid = 0 Then
    $XSlid = 1
    For $XS_H = $XSlid2 To $XSlid1 Step 1
    WinMove($XS_gui[$XS_t], "", $XS_Hvr[0], $XS_H)
    Next
    EndIf
    EndIf
    EndIf
    EndIf
    Sleep(5)
    Next
    EndFunc ;==>Mouseover
    Func XSkinButton($Btext, $Bleft, $Btop, $Bwidth, $Bheight, $event_function = "")
    ReDim $CtrlButton[UBound($CtrlButton) + 1][4]
    Local $ButtonIndex = UBound($CtrlButton) - 1
    $CtrlButton[$ButtonIndex][0] = GUICtrlCreateLabel("", $Bleft, $Btop, $Bwidth, $Bheight, $SS_BLACKRECT)
    GUICtrlSetCursor(-1, 0)
    $CtrlButton[$ButtonIndex][2] = GUICtrlCreateLabel("", $Bleft, $Btop, $Bwidth - 1, $Bheight - 1, $SS_WHITERECT)
    $CtrlButton[$ButtonIndex][3] = GUICtrlCreateLabel("", $Bleft + 1, $Btop + 1, $Bwidth - 2, $Bheight - 2, $SS_GRAYRECT)
    $CtrlButton[$ButtonIndex][1] = GUICtrlCreateLabel($Btext, $Bleft + 1, $Btop + 1, $Bwidth - 3, $Bheight - 3, $SS_NOTIFY & $SS_CENTER)
    GUICtrlSetBkColor(-1, $btn_color)
    GUICtrlSetColor(-1, $fnt_color)
    If Not StringInStr($event_function, "XSkinMBI") Then
    ReDim $CtrlIDA[UBound($CtrlIDA) + 1]
    $CtrlIDA[UBound($CtrlIDA) - 1] = $CtrlButton[$ButtonIndex][1]
    ReDim $CtrlIDB[UBound($CtrlIDB) + 1]
    $CtrlIDB[UBound($CtrlIDB) - 1] = $CtrlButton[$ButtonIndex][0]
    ReDim $CtrlIDC[UBound($CtrlIDC) + 1]
    $CtrlIDC[UBound($CtrlIDC) - 1] = $event_function
    Else
    If StringInStr($event_function, "XSkinMBI1") Then
    $CtrlIDMA[1] = $CtrlButton[$ButtonIndex][1]
    $CtrlIDMB[1] = $CtrlButton[$ButtonIndex][0]
    Else
    $CtrlIDMA[2] = $CtrlButton[$ButtonIndex][1]
    $CtrlIDMB[2] = $CtrlButton[$ButtonIndex][0]
    EndIf
    EndIf
    Return $ButtonIndex
    EndFunc ;==>XSkinButton
    Func XSkinButtonSetState($XSkinButton, $XSkinMode)
    Local $i
    If $XSkinButton > 0 And $XSkinButton < UBound($CtrlButton) Then
    For $i = 0 To 3
    GUICtrlSetState($CtrlButton[$XSkinButton][$i], $XSkinMode)
    Next
    EndIf
    EndFunc ;==>XSkinButtonSetState
    Func XSkinProgress($Pleft, $Ptop, $Pwidth, $Pheight)
    Local $XS_n, $PControl
    If StringInStr(@OSTYPE, "WIN32_NT") Then
    $XS_n = DllCall("uxtheme.dll", "int", "GetThemeAppProperties")
    DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", 0)
    EndIf
    $PControl = GUICtrlCreateProgress($Pleft, $Ptop, $Pwidth, $Pheight)
    GUICtrlSetBkColor($PControl, $over_color)
    GUICtrlSetColor($PControl, $btn_color)
    GUICtrlSetLimit(-1, 100, 0)
    If StringInStr(@OSTYPE, "WIN32_NT") And IsArray($XS_n) Then
    DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", $XS_n[0])
    EndIf
    Return $PControl
    EndFunc ;==>XSkinProgress
    Func XSkinMsgBoxOK($MBTitle, $MBText)
    XSkinMsgBox($MBTitle, $MBText, "", 4)
    EndFunc ;==>XSkinMsgBoxOK
    Func XSkinMsgBox($MBTitle, $MBText, $IBDefault = "", $IBNotify = "")
    Local $XS_msg
    If $MBTitle = "" Or $MBText = "" Then Return
    Local $MBwidth, $MBHeight, $MBInfo, $MBHA = 0, $XS_label, $IBInput
    $MBInfo = StringSplit($MBText, @CRLF)
    $MBwidth = StringLen($MBInfo[1])
    $MBHeight = ($MBInfo[0] * 15) + 70
    For $MBi = 2 To $MBInfo[0]
    If StringLen($MBInfo[$MBi]) > $MBwidth Then $MBwidth = StringLen($MBInfo[$MBi])
    Next
    If StringLen($MBTitle) > $MBwidth Then $MBwidth = StringLen($MBTitle)
    $MBwidth = ($MBwidth * 4.5) + ($tile_size * 2) + 55
    $MBHeight = $MBHeight + ($tile_size * 2)
    If $IBNotify = 2 Then $MBHeight = $MBHeight + 30
    If $MBwidth < 280 Then $MBwidth = 280
    If $IBNotify = 3 Then $MBHA = 40
    ReDim $SKBox_[UBound($SKBox_) + 1]
    $XS_TMB = UBound($SKBox_) - 1
    $SKBox_[$XS_TMB] = XSkinGUICreate($MBTitle, $MBwidth, $MBHeight - $MBHA, $Skin_Folder, $GlobalHeader, $GlobalCorners)
    For $MBl = 1 To $MBInfo[0]
    $XS_label = GUICtrlCreateLabel($MBInfo[$MBl], $tile_size + 20, $tile_size + (15 * $MBl))
    GUICtrlSetColor(-1, $fnt_color)
    Next
    If $IBNotify = 3 Then
    WinMove($SKBox_[$XS_TMB], "", (@DesktopWidth - $MBwidth) - 10, (@DesktopHeight - $MBHeight))
    WinSetOnTop($SKBox_[$XS_TMB], "", 1)
    DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $SKBox_[$XS_TMB], "int", 300, "long", 0x00040008);slide-in from bottom
    Sleep((StringLen($MBText) * 50) + 1000)
    DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $SKBox_[$XS_TMB], "int", 2000, "long", 0x00090000);fade-out
    GUIDelete($SKBox_[$XS_TMB])
    $SKBox_[$XS_TMB] = ""
    Return
    EndIf
    If $IBNotify = 2 Then $IBInput = GUICtrlCreateInput($IBDefault, $tile_size + 20, $MBHeight - ($tile_size + 70), $MBwidth - (($tile_size * 2) + 40), 20)
    If $IBNotify = 4 Then
    XSkinButton("&OK", ($MBwidth / 2) - 35, $MBHeight - ($tile_size + 40), 70, 25, "XSkinMBI1")
    Else
    XSkinButton("&OK", $MBwidth / 5, $MBHeight - ($tile_size + 40), 70, 25, "XSkinMBI1")
    XSkinButton("&CANCEL", ($MBwidth / 5) * 2.8, $MBHeight - ($tile_size + 40), 70, 25, "XSkinMBI2")
    EndIf
    GUISetState()
    WinSetOnTop($SKBox_[$XS_TMB], "", 1)
    DllCall("user32.dll", "int", "MessageBeep", "int", 0x44444444)
    While 1
    For $XS_x = 1 To 2
    $XS_msg = GUIGetCursorInfo($SKBox_[$XS_TMB])
    If IsArray($XS_msg) And $XS_msg[4] == $CtrlIDMA[$XS_x] Then
    GUICtrlSetBkColor($CtrlIDMA[$XS_x], $over_color)
    While IsArray($XS_msg) And $XS_msg[4] == $CtrlIDMA[$XS_x]
    $XS_msg = GUIGetCursorInfo($SKBox_[$XS_TMB])
    If IsArray($XS_msg) And $XS_msg[2] = "1" Then
    GUICtrlSetStyle($CtrlIDMB[$XS_x], $SS_ETCHEDFRAME)
    Sleep(190)
    If $IBNotify = 2 And $XS_x = 1 Then $XS_x = GUICtrlRead($IBInput)
    GUIDelete($SKBox_[$XS_TMB])
    $SKBox_[$XS_TMB] = ""
    Return $XS_x
    EndIf
    Sleep(10)
    WEnd
    GUICtrlSetBkColor($CtrlIDMA[$XS_x], $btn_color)
    ExitLoop
    EndIf
    Next
    Sleep(10)
    WEnd
    EndFunc ;==>XSkinMsgBox
    Func XSkinInputBox($IBTitle, $IBText, $IBDefault = "")
    Local $IBinput1 = XSkinMsgBox($IBTitle, $IBText, $IBDefault, 2)
    Return $IBinput1
    EndFunc ;==>XSkinInputBox
    Func XSkinTrayBox($TBTitle, $TBText)
    If StringInStr($TBText, @CRLF) Then Return
    XSkinMsgBox($TBTitle, $TBText, "", 3)
    EndFunc ;==>XSkinTrayBox
    Func XSkinIcon(ByRef $XS_hWin, $XS_cH = 1)
    If $XS_cH > 3 Or $XS_hWin = "" Then Return
    Local $XS_b, $XS_IPos1 = $XS_Isize, $XSIPos, $XS_winB[$XS_cH + 1]
    If StringRight($Icon_Folder, 1) <> "\" Then $Icon_Folder &= "\"
    $XSIPos = WinGetPos($XS_hWin)
    For $XS_b = 1 To UBound($XS_winB) - 1
    $XS_winB[$XS_b] = GUICtrlCreateButton("", ($XSIPos[2] - $XadjLt) - $XS_IPos1, $XadjDn, $XS_Isize, $XS_Isize, BitOR($BS_BITMAP, $WS_VISIBLE), $WS_EX_TOPMOST)
    Local $iret = GUICtrlSetImage(-1, $Icon_Folder & $XS_Istyle & $XS_b & ".bmp")
    If $XS_b = 3 And Not FileExists($Icon_Folder & $XS_Istyle & $XS_b & ".bmp") Then GUICtrlSetImage($XS_winB[$XS_b], $Icon_Folder & "Standard3.bmp")
    $XS_IPos1 += $XS_Isize
    Next
    Return $XS_winB
    EndFunc ;==>XSkinIcon
    Func XSkinIconButton($BItext, $BIleft, $BItop, $BIwidth, $BIheight, $BIconNum = 0, $BIDLL = "shell32.dll")
    If $BIconNum <> 0 Then GUICtrlCreateIcon($BIDLL, $BIconNum, $BIleft + 5, $BItop + (($BIheight - 16) / 2), 16, 16)
    If $BIconNum <> 0 Then GUICtrlSetState(-1, $GUI_DISABLE)
    Local $XS_btnx = GUICtrlCreateButton(" " & $BItext, $BIleft, $BItop, $BIwidth, $BIheight, $WS_CLIPSIBLINGS)
    Return $XS_btnx
    EndFunc ;==>XSkinIconButton
    Func _GuiRoundCorners($h_win, $i_x1, $i_y1, $i_x3, $i_y3) ; thanks gafrost
    Local $XS_pos, $XS_ret, $XS_ret2
    $XS_pos = WinGetPos($h_win)
    $XS_ret = DllCall("gdi32.dll", "long", "CreateRoundRectRgn", "long", $i_x1, "long", $i_y1, "long", $XS_pos[2], "long", $XS_pos[3], "long", $i_x3, "long", $i_y3)
    If $XS_ret[0] Then
    $XS_ret2 = DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $h_win, "long", $XS_ret[0], "int", 1)
    EndIf
    EndFunc ;==>_GuiRoundCorners
    Func XSkinError($XE_msg)
    MsgBox(262208, "XSkin Error", $XE_msg, 5)
    Exit
    EndFunc ;==>XSkinError

    [/autoit]
  • WinHTTP Com Object Authentifizierung

    • RechterWinkel
    • 28. Juli 2009 um 20:24
    Zitat von Greek

    Hallo,
    Da das mit dem TCP recht schwer ist, wollte ich mal ein Tut zu WinHTTP machen.
    Es ist wesentlich einfacher.

    Thread zu den UDFs:
    http://www.autoitscript.com/forum/index.php?showtopic=84133&hl=winhttp

    Direkt Link zu den Includes:

    WinHTTPConstants.au3

    WinHTTP.au3

    Nun Video angucken ( mein erstes Video was ich gemacht hab ;) )

    Beispiel Scripte:

    Mit Header:

    Spoiler anzeigen
    [autoit]

    #include <WinHTTP.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $username="Greek"
    $pw=FileRead( "hide.txt" )

    [/autoit] [autoit][/autoit] [autoit]

    ; Einloggen
    $post="loginUsername="&$username&"&loginPassword="&$pw&"&url=/index.php?page=Index&x=11&y=4&useCookies=1"
    $hw_open = _WinHttpOpen("AutoItBot Einloggen")
    $hw_connect = _WinHttpConnect($hw_open,"www.autoitbot.de" )
    $h_openRequest = _WinHttpOpenRequest($hw_connect, "POST", "/index.php?form=UserLogin", "HTTP/1.1", "http://www.autoitbot.de/" )
    _WinHttpSendRequest($h_openRequest, "Content-Type: application/x-www-form-urlencoded" & @CRLF, $post)
    _WinHttpReceiveResponse($h_openRequest)

    [/autoit] [autoit][/autoit] [autoit]

    If _WinHttpQueryDataAvailable($h_openRequest) Then
    $header = _WinHttpQueryHeaders($h_openRequest)
    MsgBox(0, "Header", $header)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    _WinHttpCloseHandle($h_openRequest)
    _WinHttpCloseHandle($hw_connect)
    _WinHttpCloseHandle($hw_open)

    [/autoit] [autoit][/autoit] [autoit][/autoit]

    Mit Body:

    Spoiler anzeigen
    [autoit]

    #include <WinHTTP.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $username="Greek"
    $pw=FileRead( "hide.txt" )

    [/autoit] [autoit][/autoit] [autoit]

    ; Einloggen
    $post="loginUsername="&$username&"&loginPassword="&$pw&"&url=%2Findex.php&useCookies=1"
    $hw_open = _WinHttpOpen("AutoITBot Einloggen")
    $hw_connect = _WinHttpConnect($hw_open, "www.autoitbot.de")
    $h_openRequest = _WinHttpOpenRequest($hw_connect,"POST", "/index.php?form=UserLogin","HTTP/1.1", "http://www.autoitbot.de/")
    _WinHttpSendRequest($h_openRequest, "Content-Type: application/x-www-form-urlencoded"& @CRLF, $post)
    _WinHttpReceiveResponse($h_openRequest)

    [/autoit] [autoit][/autoit] [autoit]

    Local $date=""
    Do
    $date&=_WinHttpReadData($h_openRequest)
    Until @error
    FileWrite ("body.html", $date)

    [/autoit] [autoit][/autoit] [autoit]

    _WinHttpCloseHandle($h_openRequest)
    _WinHttpCloseHandle($hw_connect)
    _WinHttpCloseHandle($hw_open)

    [/autoit]

    Externer Inhalt
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.
    [media]

    Alles anzeigen
  • Kleiner Body Mass Index

    • RechterWinkel
    • 28. Juli 2009 um 18:47

    Ah okay, jetzt klappt es, gleich nochmal ran und die richtigen Daten eintragen ;)

    EDIT: Wenn alles stimmt, müsste ich ca. 15 KG abnehmen um normal Gewicht zu haben ^^

  • Kleiner Body Mass Index

    • RechterWinkel
    • 28. Juli 2009 um 18:45

    Irgendetwas stimmt da nicht ...
    1 KG und 1,70 M ergeben "Sie haben starkes Übergewicht"

  • sleep local

    • RechterWinkel
    • 28. Juli 2009 um 16:25

    Er hat vor, das 2 Funktionen gleichzeitig und unabhängig von einander ausgeführt werden

    Die Funktion

    [autoit]

    AdlibEnable

    [/autoit]

    kannte ich nicht.

  • sleep local

    • RechterWinkel
    • 28. Juli 2009 um 16:19

    Tut mir Leid, mein Fehler ... TimerInit ist für andere Dinge sinnvoller ..
    Aber es ist soweit ich weiß unmöglich in einem Script verschiedene Funktion zur selben Zeit auszuführen

  • sleep local

    • RechterWinkel
    • 28. Juli 2009 um 16:05

    Doch. genau das macht Sleep ..

    Aber für das was du erzielen möchtest solltest du dich mal mit

    [autoit]

    TimerInit ;<= Klick mich

    [/autoit]


    ausseinandersetzen.

  • sleep local

    • RechterWinkel
    • 28. Juli 2009 um 16:03
    Zitat

    €dit: RechtWinkel habe es mal ausprobiert aber er sleept denn ganzen script er soll es nur local in der function anwenden und denn rest weiterlaufen lassen

    Sleep hält das Script an, denn AutoIt ist nicht dazu in der Lage 2 Funktionen gleichzeitig in einem Script auszuführen.

  • sleep local

    • RechterWinkel
    • 28. Juli 2009 um 15:52

    Seit wann kommt in eine Variable eine ganze Funktion ???

    Spoiler anzeigen
    [autoit]

    #include <Sound.au3>
    WinWaitActive ("Unbenannt - Editor")
    Local $sleepy = 10000 ;So sollte es gehen.
    While 1
    _testfunc()
    _testfunc2()
    Sleep(100)
    WEnd
    Func _testfunc2()
    $1=1
    $2=1
    $3=1
    $test=1
    $test2=1
    $test3=0
    If $1 =$test AND ($2 = $test2 or $3 = $test3) then
    Send ("Test men")
    EndIf

    Func _testfunc()
    While Hex(PixelGetColor(242,97),6) = "9CD2DF"
    $sound = _SoundOpen("bla.wav")
    _SoundPlay($sound)
    While _SoundStatus($sound) = "playing"
    sleep($sleepy)
    WEnd
    WEnd
    EndFunc

    [/autoit]


    Oder das ganze ohne Local:

    Spoiler anzeigen
    [autoit]

    #include <Sound.au3>
    WinWaitActive ("Unbenannt - Editor")
    $sleepy = 10000 ;So mach ich es immer und es klappt auch immer.
    While 1
    _testfunc()
    _testfunc2()
    Sleep(100)
    WEnd
    Func _testfunc2()
    $1=1
    $2=1
    $3=1
    $test=1
    $test2=1
    $test3=0
    If $1 =$test AND ($2 = $test2 or $3 = $test3) then
    Send ("Test men")
    EndIf

    Func _testfunc()
    While Hex(PixelGetColor(242,97),6) = "9CD2DF"
    $sound = _SoundOpen("bla.wav")
    _SoundPlay($sound)
    While _SoundStatus($sound) = "playing"
    sleep($sleepy)
    WEnd
    WEnd
    EndFunc

    [/autoit]
  • [ Suche ] Auto writer

    • RechterWinkel
    • 28. Juli 2009 um 13:55

    Wenn du noch hilfe brauchst meld dich bei mir per Nachricht.

  • Lock

    • RechterWinkel
    • 28. Juli 2009 um 13:38

    Ich würde vielleicht das

    [autoit]

    GUICtrlSetState($input, $GUI_HIDE) ;Zeile 19

    [/autoit]


    auskommentieren, da es sonst keine Möglichkeit gibt das Passwort einzugeben, was dazu führt das man den PC auschalten muss ..
    MfG

    Zitat von Alina
    Spoiler anzeigen
    [autoit]


    #include<GUIConstants.au3>
    #include<Misc.au3>

    [/autoit] [autoit][/autoit] [autoit]


    ;************************
    ;******* Passwort *******
    $passwort = "Passwort"
    ;************************

    Opt("WinTitleMatchMode", 2)
    Opt("TrayIconHide", 1)

    $gui_titel = "Sperren"
    $gui = GUICreate($gui_titel, @DesktopWidth, @DesktopHeight, -1, -1)
    GUISetBkColor(0xFF00FF)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $input = GUICtrlCreateInput("", @DesktopWidth/2, @DesktopHeight/2, -1, -1)
    GUICtrlSetState($input, $GUI_HIDE)

    $desktop_reg = RegRead("HKEY_CURRENT_USER\Control Panel\Desktop", "Wallpaper")
    GUICtrlCreatePic($desktop_reg, 0, 0, @DesktopWidth, @DesktopHeight)

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    If Not WinActive($gui_titel) Then WinActivate($gui_titel)
    If GUICtrlRead($input) = $passwort Then Exit
    If WinExists("Windows Task-Manager") Then WinClose("Windows Task-Manager")
    If WinExists("Internet Explorer") Then
    WinClose("Internet Explorer")
    If WinExists("Internet Explorer", "&Registerkarten schließen") Then ControlClick("Internet Explorer", "&Registerkarten schließen", 6)
    EndIf
    If WinExists("Outlook Express") Then WinClose("Outlook Express")
    Wend

    [/autoit]

    Außer dem Bild was bei Dir eingeblendet wird hat es die gleiche Funktion.

    Alles anzeigen
  • "WinFX"-UDF

    • RechterWinkel
    • 28. Juli 2009 um 11:49

    Bei mir im Haus hat niemand (außer mir xD) Ahnung vom PC und daher muss es nicht ausbruchssicher sein, für den Fall dass ich selbst mal den Hotkey vergesse :D

  • "WinFX"-UDF

    • RechterWinkel
    • 27. Juli 2009 um 21:56

    Echt super arbeit !
    Da ich mich anfangs sofort für das Close/Open Desktop interessiert hab habe ich mir gleich mal was gebastelt was bei mir im Autostart zu finden ist (Mein Bruder geht gern mal einfach an mein Laptop ...):

    Spoiler anzeigen
    [autoit]

    Break(0)
    HotKeySet("{END}","Open")
    $guieins=GUICreate("CloseDesktop.1",@DesktopWidth,0,0,0,0x80000000,BitOr(0x00000080,0x00000008))
    $guizwei=GUICreate("CloseDesktop.2",@DesktopWidth,0,0,@DesktopHeight,0x80000000,BitOr(0x00000080,0x00000008))
    GUISetBkColor(0x000000,$guieins)
    GUISetBkColor(0x000000,$guizwei)
    GUISetState(@SW_SHOW,$guieins)
    GUISetState(@SW_SHOW,$guizwei)
    For $i=1 To @DesktopHeight
    WinMove("CloseDesktop.1","",0,0,@DesktopWidth,$i)
    WinMove("CloseDesktop.2","",0,(@DesktopHeight)-$i,@DesktopWidth,$i)
    Next
    While 1
    Sleep(100)
    WEnd
    Func Open()
    For $i=@DesktopHeight to 1 step -1
    WinMove("CloseDesktop.1","",0,0,@DesktopWidth,$i)
    WinMove("CloseDesktop.2","",0,(@DesktopHeight)-$i,@DesktopWidth,$i)
    Next
    GUIDelete($guieins)
    GUIDelete($guizwei)
    Exit
    EndFunc

    [/autoit]
  • SideBar für XP

    • RechterWinkel
    • 27. Juli 2009 um 18:45

    Danke ^^
    Ich habe nämlich viel zu viele *.au3 da unten und deshalb is es sinnreicher für mich das das dann auch gleich zu sehen is, so nen Chaos :D

  • SideBar für XP

    • RechterWinkel
    • 27. Juli 2009 um 18:38

    ah okay danke, ich dachte sie wäre auch von dir ^^


    Aber eins hab ich dich glatt vergessen beim letzten Post: Das Icon mit der Aufschrift (BS) das bei den exe-Dateien ist, gibt es in dem Ordner nicht, wenns keine Umstände macht wäre es nett das auch anzuhängen.

    MfG

  • SideBar für XP

    • RechterWinkel
    • 27. Juli 2009 um 18:27

    Hallo,
    Ich würde dich bitten die audio.au3 auch zu uppen, da ich das Script jetzt nicht mehr benutzen kann.
    Hintergrund: Ich wollte eine Zeile ändern (Im Bereich Func _media() ), damit der statt WMP Winamp startet, da ich Winamp eher nutze, jedoch kam bei Compilen dann die Meldung dass die audio.au3 nicht vorhanden ist.
    MfG
    P.S. Ich find dein Script echt den Hammer, saubere Arbeit.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™