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. funkey

Beiträge von funkey

  • DVD-Brenner Laufwerksbuchstabe ändern

    • funkey
    • 15. Dezember 2008 um 23:59

    Hab keine Ahnung ob die GUD variabel ist oder nicht, aber eher schon, denn sonst hättest du wahrscheinlich diese Probleme nicht.
    Ich habe es versucht irgendwie abzufangen, und außerdem hab ich das ganze in schöne Funktionen gepackt!

    :thumbup: POST 500 :thumbup:

    Spoiler anzeigen
    [autoit]

    $x = '\\?\Volume{0b5a276f-5ff8-11dd-8265-806d6172696f}'
    $z = '\\?\Volume{0b5a2770-5ff8-11dd-8265-806d6172696f}'
    $Drive_x = 'x:'
    $Drive_z = 'z:'
    Local $aGUID[1]

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

    For $i = 70 To 90 ; von F bis Z
    $j = 0
    If DriveGetType(Chr($i)&':') = 'CDROM' Then
    $aGUID[$j] = _Unmount_Drive(Chr($i) & ':') ;alle CDROM-Laufwerke von F bis Z unmounten
    $j +=1
    ReDim $aGUID[$j+1]
    EndIf
    Next

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

    If $aGUID[0] <> $x And $aGUID[0] <> $y Then
    $x = $aGUID[0]
    $y = $aGUID[1]
    ElseIf $aGUID[1] <> $x And $aGUID[1] <> $y Then
    $x = $aGUID[1]
    $y = $aGUID[0]
    EndIf

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

    _Mount_Drive($Drive_x, $x)
    _Mount_Drive($Drive_z, $z)

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

    Func _FindGUID($Drive)
    Local Const $DevList = 'HKLM\SYSTEM\MountedDevices'
    Local $i = 0
    Do
    If RegRead($DevList, '\DosDevices\' & $Drive) = RegRead($DevList, RegEnumVal($DevList, $i)) Then
    Return StringReplace(RegEnumVal($DevList, $i), '\??\', '\\?\', 1)
    EndIf
    $i += 1
    Until 0
    EndFunc ;==>_FindGUID

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

    Func _Unmount_Drive($Drive)
    $GUID = _FindGUID($Drive)
    $s_cmd = "mountvol " & $Drive & " /D"
    RunWait(@ComSpec & " /c " & $s_cmd, "", @SW_HIDE)
    Return $GUID
    EndFunc ;==>_Unmount_Drive

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

    Func _Mount_Drive($Drive, $GUID)
    If DriveGetType($Drive) = "" Then
    $s_cmd = "mountvol " & $Drive & " " & $GUID
    RunWait(@ComSpec & " /c " & $s_cmd, "", @SW_HIDE)
    Return 0
    Else
    Return 1
    EndIf
    EndFunc ;==>_Mount_Drive

    [/autoit]

    Gute Nacht!

  • DVD-Brenner Laufwerksbuchstabe ändern

    • funkey
    • 15. Dezember 2008 um 23:05

    Der Laufwerksbuchstabe für das Ziel darf noch nicht verwendet sein, sonst kann nicht mehr gemountet werden.
    Hab noch eine Abfrage hinzugefügt.

    Also, nächster Versuch:

    Spoiler anzeigen
    [autoit]

    For $i = 70 To 87 ; von F bis W
    If DriveGetType(Chr($i)&':') = 'CDROM' Then ExitLoop
    Next

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

    $Drive_von = Chr($i)&':'
    $Drive_nach = 'X:'

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

    If DriveGetType($Drive_nach) <> "" Then
    MsgBox(16,"Fehler", "Ziel-Laufwerksbuchstabe ist schon vorhanden!")
    Exit
    EndIf

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

    If DriveGetType($Drive_von) = 'CDROM' Then
    $GUID = _FindGUID($Drive_von)
    $s_cmd = "mountvol " & $Drive_von & " /D"
    RunWait(@ComSpec & " /c " & $s_cmd, "", @SW_HIDE)
    $s_cmd = "mountvol " & $Drive_nach & " " & $GUID
    RunWait(@ComSpec & " /c " & $s_cmd, "", @SW_HIDE)
    EndIf

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

    Func _FindGUID($Drive)
    Local Const $DevList = 'HKLM\SYSTEM\MountedDevices'
    Local $i = 0
    Do
    If RegRead($DevList, '\DosDevices\' & $Drive) = RegRead($DevList, RegEnumVal($DevList, $i)) Then
    Return StringReplace(RegEnumVal($DevList, $i), '\??\', '\\?\', 1)
    EndIf
    $i += 1
    Until 0
    EndFunc ;==>_FindGUID

    [/autoit]

    Edit: Sry, kleiner Fehler DriveGetDrive anstelle von DriveGetType

  • DVD-Brenner Laufwerksbuchstabe ändern

    • funkey
    • 15. Dezember 2008 um 22:48

    Vllt kann man das Problem einfacher lösen?

    Spoiler anzeigen
    [autoit]

    $Drive_von = 'g:'
    $Drive_nach = 'x:'

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

    If DriveGetType($Drive_von) = 'CDROM' Then
    $GUID = _FindGUID($Drive_von)
    $s_cmd = "mountvol " & $Drive_von & " /D"
    RunWait(@ComSpec & " /c " & $s_cmd, "", @SW_HIDE)
    $s_cmd = "mountvol " & $Drive_nach & " " & $GUID
    RunWait(@ComSpec & " /c " & $s_cmd, "", @SW_HIDE)
    EndIf

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

    Func _FindGUID($Drive)
    Local Const $DevList = 'HKLM\SYSTEM\MountedDevices'
    Local $i = 0
    Do
    If RegRead($DevList, '\DosDevices\' & $Drive) = RegRead($DevList, RegEnumVal($DevList, $i)) Then
    Return StringReplace(RegEnumVal($DevList, $i), '\??\', '\\?\', 1)
    EndIf
    $i += 1
    Until 0
    EndFunc ;==>_FindGUID

    [/autoit]
  • ListView - zählen der "checked Items"

    • funkey
    • 15. Dezember 2008 um 22:28

    Da hat Oscar eine -1 vergessen

    [autoit]

    For $i = 0 To $iCount -1

    [/autoit]
  • Funktion ruft Funktion auf und..... ---> Stack überlauf --- was tun ?

    • funkey
    • 15. Dezember 2008 um 20:30

    Die Funktion 'überwache_browser' kehrt nach dem Beenden sowieso zur Funktion 'überwache_passwörter zurück. Wenn du aber in einer Schleife bist, dann nimm anstelle des Funktionsaufrufes einfach ein 'Return'.

  • DVD-Brenner Laufwerksbuchstabe ändern

    • funkey
    • 15. Dezember 2008 um 14:47

    Hab mal das Beispiel aus dem englischen Forum umgebaut. Du brauchst nur noch das $Data_soll mit den Daten deiner DVD-Brenner ersetzen. Diese Daten erhälst du am einfachsten mit er Funktion _FindGUID('H:').

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>

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

    Local $Data_soll[2][2] = [['y:', '\\?\Volume{0b5a276f-5ff8-11dd-8265-806d6172696f}'],['z:', '\\?\Volume{0b5a2770-5ff8-11dd-8265-806d6172696f}']]

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

    $Optical = DriveGetDrive('CDROM')
    Local $Data_ist[$Optical[0]][2]

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

    For $i = 0 To $Optical[0] - 1
    $Data_ist[$i][0] = $Optical[$i + 1]
    $Data_ist[$i][1] = _FindGUID($Data_ist[$i][0])
    Next

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

    For $i = 0 To UBound($Data_soll, 1) - 1
    If _ArraySearch($Data_ist, $Data_soll[$i][0]) = -1 Then
    $line = _ArraySearch($Data_ist, $Data_soll[$i][1], 0, 0, 0, 0, 1, 1)
    If $line = -1 Then
    MsgBox(16, 'Fehler', 'Laufwerk nicht gefunden oder nicht eingehängt!')
    Exit
    EndIf
    $s_cmd = "mountvol " & $Data_ist[$line][0] & " /D"
    RunWait(@ComSpec & " /c " & $s_cmd, "", @SW_HIDE)
    $s_cmd = "mountvol " & $Data_soll[$i][0] & " " & $Data_soll[$i][1]
    RunWait(@ComSpec & " /c " & $s_cmd, "", @SW_HIDE)
    EndIf
    Next

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

    Func _FindGUID($Drive)
    Local Const $DevList = 'HKLM\SYSTEM\MountedDevices'
    Local $i = 0
    Do
    If RegRead($DevList, '\DosDevices\' & $Drive) = RegRead($DevList, RegEnumVal($DevList, $i)) Then
    Return StringReplace(RegEnumVal($DevList, $i), '\??\', '\\?\', 1)
    EndIf
    $i += 1
    Until 0
    EndFunc ;==>_FindGUID

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • RS-Man - Rapidshare Manager

    • funkey
    • 15. Dezember 2008 um 12:50

    Der Quellcode im Spoiler von Post 1 funktioniert doch einwandfrei. Das Programm kannst du dir dann selber kompilieren.

  • Tab - Controll (Registerkartengruppe)

    • funkey
    • 15. Dezember 2008 um 11:45

    Du brauchst doch nur auf die Funktion in Scite F1 drücken und schon kommt die Hilfe und die Beschreibung zu der Funktion!
    Du brauchst

    [autoit]

    #Include <GuiTab.au3>

    [/autoit]
  • Tab - Controll (Registerkartengruppe)

    • funkey
    • 15. Dezember 2008 um 11:12
    [autoit]

    _GUICtrlTab_GetCurSel

    [/autoit]
  • GUI Spielerei

    • funkey
    • 15. Dezember 2008 um 08:37

    Mit der _Winanimate.au3 flackert nichts. Außerdem ist noch viel mehr möglich.

    Spoiler anzeigen
    [autoit]

    ; Function _WinAnimate from Raindancer
    ; http://www.autoitscript.com/forum/index ... st&p=84102

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

    ;CONSTANTS
    Global Const $AW_FADE_IN = 0x00080000 ;fade-in
    Global Const $AW_FADE_OUT = 0x00090000;fade-out
    Global Const $AW_SLIDE_IN_LEFT = 0x00040001 ;slide in from left
    Global Const $AW_SLIDE_OUT_LEFT = 0x00050002 ;slide out to left
    Global Const $AW_SLIDE_IN_RIGHT = 0x00040002 ;slide in from right
    Global Const $AW_SLIDE_OUT_RIGHT = 0x00050001 ;slide out to right
    Global Const $AW_SLIDE_IN_TOP = 0x00040004 ;slide-in from top
    Global Const $AW_SLIDE_OUT_TOP = 0x00050008 ;slide-out to top
    Global Const $AW_SLIDE_IN_BOTTOM = 0x00040008 ;slide-in from bottom
    Global Const $AW_SLIDE_OUT_BOTTOM = 0x00050004 ;slide-out to bottom
    Global Const $AW_DIAG_SLIDE_IN_TOPLEFT = 0x00040005 ;diag slide-in from Top-left
    Global Const $AW_DIAG_SLIDE_OUT_TOPLEFT = 0x0005000a ;diag slide-out to Top-left
    Global Const $AW_DIAG_SLIDE_IN_TOPRIGHT = 0x00040006 ;diag slide-in from Top-Right
    Global Const $AW_DIAG_SLIDE_OUT_TOPRIGHT = 0x00050009 ;diag slide-out to Top-Right
    Global Const $AW_DIAG_SLIDE_IN_BOTTOMLEFT = 0x00040009 ;diag slide-in from Bottom-left
    Global Const $AW_DIAG_SLIDE_OUT_BOTTOMLEFT = 0x00050006 ;diag slide-out to Bottom-left
    Global Const $AW_DIAG_SLIDE_IN_BOTTOMRIGHT = 0x0004000a ;diag slide-in from Bottom-right
    Global Const $AW_DIAG_SLIDE_OUT_BOTTOMRIGHT = 0x00050005 ;diag slide-out to Bottom-right
    Global Const $AW_EXPLODE = 0x00040010 ;explode
    Global Const $AW_IMPLODE = 0x00050010 ;implode

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

    Func _WinAnimate($v_gui, $i_mode, $i_duration = 1000)
    DllCall("user32.dll", "int", "AnimateWindow", "hwnd", WinGetHandle($v_gui), "int", $i_duration, "long", $i_mode)
    Local $ai_gle = DllCall('kernel32.dll', 'int', 'GetLastError')
    If $ai_gle[0] <> 0 Then
    SetError(1)
    Return 0
    EndIf
    Return 1
    EndFunc ;==>_WinAnimate

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

    #include <GUIConstantsEx.au3>
    #include <EditConstants.au3>
    #include <WindowsConstants.au3>
    Opt("GUIOnEventMode", 1)

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

    $HauptGui = GUICreate("WinAnimate", 350, 400, 1, 1)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_Ende')
    $Mode_Combo = GUICtrlCreateCombo("", 10, 10, 200)
    GUICtrlSetOnEvent(-1, "_ShowFenster")
    GUICtrlSetData(-1, "AW_FADE_IN|AW_FADE_OUT|AW_SLIDE_IN_LEFT|AW_SLIDE_OUT_LEFT|AW_SLIDE_IN_RIGHT|AW_SLIDE_OUT_RIGHT")
    GUICtrlSetData(-1, "AW_SLIDE_IN_TOP|AW_SLIDE_OUT_TOP|AW_SLIDE_IN_BOTTOM|AW_SLIDE_OUT_BOTTOM|AW_DIAG_SLIDE_IN_TOPLEFT|AW_DIAG_SLIDE_OUT_TOPLEFT")
    GUICtrlSetData(-1, "AW_DIAG_SLIDE_IN_TOPRIGHT|AW_DIAG_SLIDE_OUT_TOPRIGHT|AW_DIAG_SLIDE_IN_BOTTOMLEFT|AW_DIAG_SLIDE_OUT_BOTTOMLEFT")
    GUICtrlSetData(-1, "AW_DIAG_SLIDE_IN_BOTTOMRIGHT|AW_DIAG_SLIDE_OUT_BOTTOMRIGHT|AW_EXPLODE|AW_IMPLODE")

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

    $Duration = GUICtrlCreateInput("10", 220, 10, 100, 20)
    GUICtrlSetTip(-1, "Zeit in 100 ms")
    GUICtrlCreateUpdown( -1)
    ;~ GUICtrlSetLimit(-1, 0, 5000)

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

    $TestGui = GUICreate("WinAnimate-Test-Fenster")
    GUISetState(@SW_SHOW, $HauptGui)

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

    While 1
    Sleep(1000)
    WEnd

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

    Func _ShowFenster()
    _WinAnimate($TestGui, Eval(GUICtrlRead($Mode_Combo)), GUICtrlRead($Duration)*100)
    GUISetState(@SW_SHOW, $TestGui)
    EndFunc

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

    Func _Ende()
    Exit
    EndFunc ;==>_Ende

    [/autoit]


    P.S. Kannst du bitte deinen Post so editieren, dass der Autoit-Quellcode richtig angezeigt wird? Danke.
    mfg funkey

  • hallo bin auch neu

    • funkey
    • 14. Dezember 2008 um 18:12

    Hallo Fussbalgott! :D

    Herzlich willkommen hier im besten Forum der Welt.

    Hab mal ein kleines Fussballspiel gemacht. Bin aber nie fertig geworden. Hier extra für dich und auch für alle anderen, denen es gefällt!:P

  • button im internetexplorer

    • funkey
    • 14. Dezember 2008 um 17:59

    Aso da ich mich dortnicht anmelden kann und will, weiß ich auh nicht wie man sich abmeldet.
    Nur soviel:

    Spoiler anzeigen
    [autoit]

    #include <IE.au3>
    $sUsername = "*++"
    $sPassword = "++"
    $sUrl = "http://www.pennergame.de"
    $oIE = _IECreate($sUrl)
    $oHWND = _IEPropertyGet($oIE, "hwnd")
    WinSetState($oHWND, "", @SW_MAXIMIZE)
    $oForm = _IEFormGetCollection($oIE, 0)
    $oUsername = _IEFormElementGetObjByName($oForm, "username")
    $oPassword = _IEFormElementGetObjByName($oForm, "password")
    _IEFormElementSetValue($oUsername, $sUsername)
    _IEFormElementSetValue($oPassword, $sPassword)
    _IEFormSubmit($oForm)

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

    ;hier soll auslogen per hotkey

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

    HotKeySet('!l', '_logout')

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

    While 1
    Sleep(1000)
    WEnd

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

    Func _logout()
    ;Kenne die Seite nicht :P
    Exit
    EndFunc ;==>_logout

    [/autoit]
  • heyho leute

    • funkey
    • 14. Dezember 2008 um 16:42

    Herzlich willkommen!
    Hier bekommst du bestimmt Antworten auf all deine Fragen bezüglich Autoit!

  • Einzelne Zeichen ersetzen

    • funkey
    • 14. Dezember 2008 um 16:37

    StringReplace ( "string", "searchstring" or start, "replacestring" [, count [, casesense]] )


    Parameters

    string The string to evaluate.
    searchstring The substring to search for or the character position to start the replacement.
    replacestring The replacement string.
    count [optional] The number of times to replace the searchstring.
    0 = all searchstrings will be replaced (default)
    casesense [optional] Flag to indicate if the operations should be case sensitive.
    0 = not case sensitive, using the user's locale (default)
    1 = case sensitive
    2 = not case sensitive, using a basic/faster comparison

  • Text auf GUI in jedem gewünschten Winkel

    • funkey
    • 13. Dezember 2008 um 21:15

    Letzte Meldung von mir heute: :D

    Du könntest noch eine Redraw-Parameter hinzufügen, damit wenn man den Text aktualisiert und der neue Text einen anderen Winkel hat oder kürzer ist als der andere, der alte auch vorher gelöscht wird. Tipp: Gib 'Hallo Freund' ein und danach nur 'Hallo'. Man merkt keinen Unterschied ;)

  • Frage zu GuiOnEventMode

    • funkey
    • 13. Dezember 2008 um 20:04

    Nein du kannst mit GUICtrlSetOnEvent keine Parameter übergeben. Aber du kannst mit @GUI_CTRLID, @GUI_WINHANDLE und @GUI_CTRLHANDLE ermitteln von wo die Funktion aufgerufen wurde und dementsprechend handeln.

  • Text auf GUI in jedem gewünschten Winkel

    • funkey
    • 13. Dezember 2008 um 19:06

    Gefällt mir sehr gut!!
    Mit Checkboxen kannst du verschiedene Stile kombinieren.

    Spoiler anzeigen
    [autoit]

    ; Version 3.2.12.1
    #Include <WinAPI.au3>
    #include <GUIConstantsEx.au3>
    #include <StructureConstants.au3>
    #include <WindowsConstants.au3>

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

    Global $GUI = GUICreate('Test Rotation')
    GUICtrlCreateLabel('Text:', 10, 13, 50, 17)
    Global $In = GUICtrlCreateInput('Hallo!', 70, 10, 150, 20)
    Global $bt = GUICtrlCreateButton('Schreibe Text', 250, 10, 100, 20)
    GUICtrlCreateLabel('Pos. X:', 10, 43, 50, 17)
    Global $inX = GUICtrlCreateInput('80', 70, 40, 30, 20)
    GUICtrlCreateLabel('Pos. Y:', 110, 43, 50, 17)
    Global $inY = GUICtrlCreateInput('280', 170, 40, 30, 20)
    GUICtrlCreateLabel('Winkel:', 10, 73, 50, 17)
    Global $inDeg = GUICtrlCreateInput('30', 70, 70, 30, 20)
    GUICtrlCreateLabel('Höhe:', 110, 73, 50, 17)
    Global $inSize = GUICtrlCreateInput('60', 170, 70, 30, 20)
    GUICtrlCreateLabel('Breite:', 10, 103, 50, 17)
    Global $inWeight = GUICtrlCreateInput('400', 70, 100, 30, 20)
    GUICtrlCreateLabel('Font:', 110, 103, 50, 17)
    Global $inFont = GUICtrlCreateInput('Comic Sans MS', 170, 100, 200, 20)
    GUICtrlCreateGroup(' Stil ', 10, 130, 280, 40)
    ;~ Global $rDef = GUICtrlCreateCheckbox('Standard', 15, 145, 65)
    ;~ GUICtrlSetState(-1, $GUI_CHECKED)
    Global $rIt = GUICtrlCreateCheckbox('Italic', 85, 145, 45)
    Global $rUn = GUICtrlCreateCheckbox('Underlined', 135, 145, 70)
    Global $rSt = GUICtrlCreateCheckbox('StrikeOut', 215, 145, 70)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    GUISetState()
    Global $Rect

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

    Do
    $msg = GUIGetMsg()
    If $msg = $bt Then
    Local $type = BitAND(GUICtrlRead($rIt), $GUI_CHECKED)&BitAND(GUICtrlRead($rUn), $GUI_CHECKED)&BitAND(GUICtrlRead($rSt), $GUI_CHECKED)
    Local $readFont = GUICtrlRead($inFont)
    If $readFont = '' Then $readFont = -1
    _WriteRotateText($GUI, GUICtrlRead($In), GUICtrlRead($inX), GUICtrlRead($inY), GUICtrlRead($inDeg), _
    GUICtrlRead($inSize), GUICtrlRead($inWeight), $type, $readFont)
    EndIf
    Until $msg = $GUI_EVENT_CLOSE

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

    ;==================================================================================================
    ; Function Name: _WriteRotateText($hWnd, $sWrite, $iX, $iY, $iDeg, $iSize [, $iWeight=400 [, $sType=-1 [, $sFont=-1]]])
    ; Description: Schreibt einen Text mit bestimmtem Winkel in das angegebene Fenster
    ; Parameter(s): $hWnd Handle des Fensters
    ; $sWrite der zu schreibende Text
    ; $iX x-Position auf dem Fenster
    ; $iY y-Position auf dem Fenster
    ; $iDeg Rotationswinkel des Textes
    ; $iSize Höhe des Textes
    ; optional: $iWeight Fontbreite 0 - 1000 (Standard 400)
    ; optional: $sType Fonttyp -1=normal (Standard); 'i'=Italic; 'u'=Underline; 's'=StrikeOut
    ; optional: $sFont Fontname -1=Font der Form (Standard)
    ; Requirement(s): #Include <WinAPI.au3>; #include <StructureConstants.au3>; #include <WindowsConstants.au3>
    ;==================================================================================================
    Func _WriteRotateText($hWnd, $sWrite, $iX, $iY, $iDeg, $iSize, $iWeight=400, $sType=-1, $sFont=-1)
    Local $tRect = DllStructCreate($tagRECT)
    DllStructSetData($tRect, 'Left', $iX)
    DllStructSetData($tRect, 'Top', $iY)
    Local $rotate = $iDeg *10
    If ($rotate = 900) Or ($rotate = 1800) Or ($rotate = 2700) Then $rotate += 1
    Local $RotateMe = DllStructCreate($tagLOGFONT)
    DllStructSetData($RotateMe, 'Escapement', $rotate)
    DllStructSetData($RotateMe, 'Height', ($iSize * -20)/_WinAPI_TwipsPerPixelY())
    If $iWeight <> 400 Then DllStructSetData($RotateMe, 'Weight', $iWeight)

    #Region funkey
    If BitAND($sType, 4) Then DllStructSetData($RotateMe, 'Italic', True)
    If BitAND($sType, 2) Then DllStructSetData($RotateMe, 'Underline', True)
    If BitAND($sType, 1) Then DllStructSetData($RotateMe, 'StrikeOut', True)
    #EndRegion funkey

    If $sFont <> -1 Then DllStructSetData($RotateMe, 'FaceName', $sFont)
    Local $rFont = _WinAPI_CreateFontIndirect($RotateMe)
    Local $hDC = _WinAPI_GetDC($hWnd)
    _WinAPI_SelectObject($hdc, $rFont)
    _WinAPI_DrawText($hDC, $sWrite, $tRect, $DT_NOCLIP)
    _WinAPI_ReleaseDC($GUI, $hDC)
    EndFunc ;==>_WriteRotateText

    [/autoit]


    Edit: Text löschen eventuell mit _WinAPI_RedrawWindow ??

    Spoiler anzeigen
    [autoit]

    Do
    $msg = GUIGetMsg()
    If $msg = $bt Then
    Local $type = BitAND(GUICtrlRead($rIt), $GUI_CHECKED)&BitAND(GUICtrlRead($rUn), $GUI_CHECKED)&BitAND(GUICtrlRead($rSt), $GUI_CHECKED)
    Local $readFont = GUICtrlRead($inFont)
    If $readFont = '' Then $readFont = -1
    _WriteRotateText($GUI, GUICtrlRead($In), GUICtrlRead($inX), GUICtrlRead($inY), GUICtrlRead($inDeg), _
    GUICtrlRead($inSize), GUICtrlRead($inWeight), $type, $readFont)
    Sleep(2000)
    _WinAPI_RedrawWindow($GUI)
    EndIf
    Until $msg = $GUI_EVENT_CLOSE

    [/autoit]

    Edit2: Wenn man ein '&' eingibt wird es nicht dargestellt. Erst '&&' stellt ein '&' dar. 3x& ergibt '&', 4x& ergibt dann '&&'

  • SourcFile erstellen anstelle einer DLL-Datei

    • funkey
    • 12. Dezember 2008 um 17:13

    Kann das vlllt noch jemand testen? Würde gerne wissen ob es überall geht, oder wo bzw. wann es Probleme gibt?

    Danke!

  • Hintergrundbild

    • funkey
    • 12. Dezember 2008 um 17:09

    [ gelöst ] Wallpaper im laufenden Betrieb ändern

  • testlauf für autoit scripte

    • funkey
    • 11. Dezember 2008 um 19:27

    Wenn du dein Skript startest, dann wird rechts unten in der Startleiste ein Icon für dieses Skript angezeigt. Wenn du nun mit der Maus über dieses Icon fährst, dann siehst du mittels ToolTip in welcher Zeile das Skript gerade steht.

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™