• Eine gute animation wäre auch, wenn man ein sich schließendes Auge machen würde. Hätte den gleichen Effekt wie das ausblenden :D

    Zitat

    [Heute, 11:39] Raupi: Soll ich es dir machen?
    [Heute, 11:47] BugFix: "Soll ich es dir machen? " - also Raupi !! bitte nicht so öffentlich :rofl:

    Zitat

    [Heute, 11:51] BugFix: und ich werde es mir jetzt machen - das Mittagessen :P

    AMsg UDF v1.00.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%
    OwnStyle UDF Version 1.10.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%

  • Ich schau was ich machen kann ^^

    Zitat

    [Heute, 11:39] Raupi: Soll ich es dir machen?
    [Heute, 11:47] BugFix: "Soll ich es dir machen? " - also Raupi !! bitte nicht so öffentlich :rofl:

    Zitat

    [Heute, 11:51] BugFix: und ich werde es mir jetzt machen - das Mittagessen :P

    AMsg UDF v1.00.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%
    OwnStyle UDF Version 1.10.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%

  • Ich habs ^^ Also mal das Auge:

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>

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

    $my_gui = GUICreate("MyGUI", @DesktopWidth, @DesktopHeight, 0, 0, 0x80000000, BitOR(0x00000080, 0x00000008))
    GUISetBkColor(0x000000, $my_gui)

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

    _GuiHole($my_gui, @DesktopWidth/16, @DesktopHeight/8, @DesktopWidth/1.15, @DesktopHeight/1.30)
    GUISetState(@SW_SHOW)

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case Else
    ;;;
    EndSelect
    WEnd
    Exit

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

    Func _GuiHole($h_win, $i_x, $i_y, $i_sizew, $i_sizeh)
    Dim $pos, $outer_rgn, $inner_rgn, $wh, $combined_rgn, $ret
    $pos = WinGetPos($h_win)

    $outer_rgn = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", 0, "long", 0, "long", $pos[2], "long", $pos[3])
    If IsArray($outer_rgn) Then
    $inner_rgn = DllCall("gdi32.dll", "long", "CreateEllipticRgn", "long", $i_x, "long", $i_y, "long", $i_x + $i_sizew, "long", $i_y + $i_sizeh)
    If IsArray($inner_rgn) Then
    $combined_rgn = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", 0, "long", 0, "long", 0, "long", 0)
    If IsArray($combined_rgn) Then
    DllCall("gdi32.dll", "long", "CombineRgn", "long", $combined_rgn[0], "long", $outer_rgn[0], "long", $inner_rgn[0], "int", 4)
    $ret = DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $h_win, "long", $combined_rgn[0], "int", 1)
    If $ret[0] Then
    Return 1
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf

    EndFunc ;==>_GuiHole

    [/autoit]

    Thx an Mega ^^

    Zitat

    [Heute, 11:39] Raupi: Soll ich es dir machen?
    [Heute, 11:47] BugFix: "Soll ich es dir machen? " - also Raupi !! bitte nicht so öffentlich :rofl:

    Zitat

    [Heute, 11:51] BugFix: und ich werde es mir jetzt machen - das Mittagessen :P

    AMsg UDF v1.00.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%
    OwnStyle UDF Version 1.10.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%

    Einmal editiert, zuletzt von H2112 (19. April 2009 um 21:37)

    • Offizieller Beitrag

    Wenn du es noch zum schließen bekommst, dann ist es ein guter Effekt. Viel Spaß beim basteln .

  • Edit:
    Ich hab die UDF mal zusammengefasst und noch ein Beispiel hinzugefügt.

    WinFX
    [autoit='WinFX']

    Global $WinFX_EyeAnzahl = @DesktopWidth / 2
    Global $WinFX_EyeEllipse[$WinFX_EyeAnzahl + 1]


    Func _WinFX_ResizeWindow($sWindow,$width, $height,$step=5)
    $sTitle=WinGetTitle($sWindow)
    $sText=WinGetText($sWindow)
    $hHandle=WinGetHandle($sWindow)
    $pos=WinGetPos($sTitle)
    If not IsArray($pos) Then return false
    $oldwidth=$pos[2]
    $oldheight=$pos[3]
    $oldx=$pos[0]
    $oldy=$pos[1]
    $wdiff=$width-$oldwidth
    $hdiff=$height-$oldheight
    $j=0
    $i=0
    $wStep=$step
    $hStep=$step
    If $wdiff < 0 then $wStep = - $wStep
    If $hdiff < 0 then $hStep = - $hStep
    while Abs($i) <= Abs($wdiff) Or Abs($j) <= Abs($hdiff)
    If Abs($i) <= Abs($wdiff) Then $i += $wStep
    If Abs($j) <= Abs($hdiff) Then $j += $hStep
    MsgBox(0,"","newwidth=" & $oldwidth+$i & @CRLF & "newheight=" & $oldheight+$j & @CRLF & "i=" & $i)
    WinMove($sTitle,"",$oldx,$oldy,$oldwidth+$i,$oldheight+$j)
    WEnd
    Return $pos
    EndFunc
    Func _WinFX_FlashDesktop($iSpeed=3,$hColor=0xffffff)
    ;Remarks: Don't use AdLib with this
    GUICreate("Flash",@DesktopWidth,@DesktopHeight,0,0,0x80000000,0x00000080)
    GUISetBkColor($hColor)
    WinSetTrans("Flash","",240)
    GUISetState()
    For $i=100 To 255 step 5
    WinSetTrans("Flash","",$i)
    Next
    For $i=255 To 0 step -$iSpeed
    WinSetTrans("Flash","",$i)
    Next
    if not @error then return true
    EndFunc
    Func _WinFX_CloseDesktop($iSleep=1000)
    $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
    sleep($iSleep)
    GUIDelete($guieins)
    GUIDelete($guizwei)
    EndFunc
    Func _WinFX_OpenDesktop($iSleep=1000)
    $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=@DesktopHeight to 1 step -1
    WinMove("CloseDesktop.1","",0,0,@DesktopWidth,$i)
    WinMove("CloseDesktop.2","",0,(@DesktopHeight)-$i,@DesktopWidth,$i)
    Next
    sleep($iSleep)
    GUIDelete($guieins)
    GUIDelete($guizwei)
    EndFunc
    Func _WinFXCloseDesktop_Eye()
    $my_gui = GUICreate("MyGUI", @DesktopWidth, @DesktopHeight, 0, 0, 0x80000000, BitOR( 0x00000008, 0x00080000, 0x2000000))
    GUISetBkColor(0x000000)
    GUISetState(@SW_SHOW)

    For $i = 1 To $WinFX_EyeAnzahl - 1 Step + 1
    $WinFX_EyeEllipse[$i] = _DrawTransparentEllipse ($my_gui, @DesktopWidth/16, @DesktopHeight/8 + $i / 2, @DesktopWidth/1.15, @DesktopHeight/1.30 - $i, 255)
    Sleep (5)
    GUIDelete ($WinFX_EyeEllipse[$i-1])
    Next
    EndFunc
    Func _WinFXOpenDesktop_Eye()
    $my_gui = GUICreate("MyGUI", @DesktopWidth, @DesktopHeight, 0, 0, 0x80000000, BitOR( 0x00000008, 0x00080000, 0x2000000))
    GUISetBkColor(0x000000)
    GUISetState(@SW_SHOW)

    For $i = $WinFX_EyeAnzahl - 1 To 1 Step -1
    $WinFX_EyeEllipse[$i] = _DrawTransparentEllipse ($my_gui, @DesktopWidth/16, @DesktopHeight/8 + $i / 2, @DesktopWidth/1.15, @DesktopHeight/1.30 - $i, 255)
    GUIDelete ($WinFX_EyeEllipse[$i+1])
    Next
    EndFunc
    Func _DrawTransparentEllipse($hwnd, $x,$y,$w,$h,$Transparency=255)
    $Child = GUICreate ( "", $w, $h, $x, $y, 0x40000000, -1, $hwnd )
    _WinAPI_SetLayeredWindowAttributes($hwnd, 0xABCDEF, $Transparency)
    GUISetBkColor ( 0xABCDEF, $Child )
    _GuiRoundCorners ( $Child, 0, 0, $w, $h)
    GUISetState()
    Return $Child
    EndFunc
    Func _GuiRoundCorners($hWnd, $x1, $y1, $x3, $y3)
    Local $pos, $ret, $ret2
    $pos = WinGetPos($hWnd)
    $ret = DllCall('gdi32.dll', 'long', 'CreateRoundRectRgn', 'long', $x1, 'long', $y1, 'long', $pos[2], 'long', $pos[3], 'long', $x3, 'long', $y3)
    If $ret[0] Then
    $ret2 = DllCall('user32.dll', 'long', 'SetWindowRgn', 'hwnd', $hWnd, 'long', $ret[0], 'int', 1)
    If $ret2[0] Then
    Return 1
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf
    EndFunc
    Func _WinAPI_SetLayeredWindowAttributes($hwnd, $i_transcolor, $Transparency = 255, $dwFlages = 0x03, $isColorRef = False)
    ; progandy
    If $dwFlages = Default Or $dwFlages = "" Or $dwFlages < 0 Then $dwFlages = 0x03
    If Not $isColorRef Then
    $i_transcolor = Hex(String($i_transcolor), 6)
    $i_transcolor = Execute('0x00' & StringMid($i_transcolor, 5, 2) & StringMid($i_transcolor, 3, 2) & StringMid($i_transcolor, 1, 2))
    EndIf
    Local $Ret = DllCall("user32.dll", "int", "SetLayeredWindowAttributes", "hwnd", $hwnd, "long", $i_transcolor, "byte", $Transparency, "long", $dwFlages)
    Select
    Case @error
    Return SetError(@error, 0, 0)
    Case $Ret[0] = 0
    Return SetError(4, __WinAPI_GetLastError(), 0)
    Case Else
    Return 1
    EndSelect
    EndFunc ;==>_WinAPI_SetLayeredWindowAttributes
    Func __WinAPI_GetLastError()
    Local $aResult

    $aResult = DllCall("Kernel32.dll", "int", "GetLastError")
    If @error Then Return SetError(@error, 0, 0)
    Return $aResult[0]
    EndFunc

    [/autoit]
    Beispiel
    [autoit='Beispiel']

    #include <WinFX.au3>

    _WinFXCloseDesktop_Eye()
    Sleep(1000)
    _WinFXOpenDesktop_Eye()

    Sleep(5000)
    Exit

    [/autoit]

    LG,
    H2112

    Zitat

    [Heute, 11:39] Raupi: Soll ich es dir machen?
    [Heute, 11:47] BugFix: "Soll ich es dir machen? " - also Raupi !! bitte nicht so öffentlich :rofl:

    Zitat

    [Heute, 11:51] BugFix: und ich werde es mir jetzt machen - das Mittagessen :P

    AMsg UDF v1.00.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%
    OwnStyle UDF Version 1.10.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%

    3 Mal editiert, zuletzt von H2112 (28. April 2009 um 21:31)

  • 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]
    [autoit]

    If ProcessExists("Sig.exe") Then
    ConsoleWrite("@@ mfg")
    Else
    ConsoleWrite("!! -no sig-")
    EndIf

    [/autoit]
  • Wenn man:
    a) die AutoItExe umbenennt
    b) das Programm kompriliert
    kann man es nicht mehr so einfach herausfinden.
    MfG

    MfG. tobi_girst

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tobi_girst« (Morgen, 25:63)

  • 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

    [autoit]

    If ProcessExists("Sig.exe") Then
    ConsoleWrite("@@ mfg")
    Else
    ConsoleWrite("!! -no sig-")
    EndIf

    [/autoit]
  • Ich habe die Datei ein bischen verbessert.


    Beispiel:

    [autoit]

    _CloseDesktop_Typ1(0xFF0000, 0xFF0000, 2)
    Sleep(500)
    _OpenDesktop_Typ1(1, 2)
    Sleep(500)
    _CloseDesktop_Typ1(0xFF0000, 0xFF0000, 2)
    Sleep(500)
    _OpenDesktop_Typ2(1, 2)
    Sleep(500)
    _CloseDesktop_Typ2(0xFF0000, 0xFF0000, 2)
    Sleep(500)
    _OpenDesktop_Typ2(2, 2)
    Sleep(500)
    _CloseDesktop_Typ2(0xFF0000, 0xFF0000, 2)
    Sleep(500)
    _OpenDesktop_Typ1(2, 2)

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

    Sleep(500)

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

    _SperreTaskleiste(0xFF0000, 1, 2)
    Sleep(500)
    _EntsperreTaskleiste(1, 2)
    Sleep(500)
    _SperreTaskleiste(0xFF0000, 1, 2)
    Sleep(500)
    _EntsperreTaskleiste(0, 2)
    Sleep(500)
    _SperreTaskleiste(0xFF0000, 0, 2)
    Sleep(500)
    _EntsperreTaskleiste(1, 2)
    Sleep(500)
    _SperreTaskleiste(0xFF0000, 0, 2)
    Sleep(500)
    _EntsperreTaskleiste(0, 2)

    [/autoit]