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

Beiträge von name22

  • Exe. mit Script starten

    • name22
    • 22. Januar 2011 um 20:18

    Aha... Ich habe mal nach _RecursivFileSearch gesucht, und das hier gefunden. Hast du überhaupt gesucht oder warst du zu faul dazu? :huh:

  • Exe. mit Script starten

    • name22
    • 22. Januar 2011 um 19:32

    Wenn du mit "liegepunkt" den vollständigen Pfad zur exe Datei meinst, dann ja ;).
    Du müsstest mit einer Funktion wie _RecursiveFileSearch (ich finde den Link nicht merh ^^) o.Ä. nach dem Dateinamen suchen, dann hast du ja den Pfad und kannst die exe z.B. mit Run ausführen. Allerdings müsste dann der Name der exe einmalig sein...

  • Pic reapeat als GUI Hintergrund (ala CSS bei HTML)

    • name22
    • 22. Januar 2011 um 19:14

    Hab mal eine kleine Funktion mit GDI+ gebastelt. :)

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>

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

    _RepeatPicture(@ScriptDir & "\stripes.png", @ScriptDir & "\Test.png", 400, 400)

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

    Func _RepeatPicture($sPath_Src, $sPath_Dst, $iWidth_Dst, $iHeight_Dst)
    ; Author: name22(http://www.autoit.de)

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

    _GDIPlus_Startup()

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

    $hImage_Src = _GDIPlus_ImageLoadFromFile($sPath_Src)
    $hTexture_Src = _GDIPlus_TextureCreate($hImage_Src)

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

    $hGraphic_Tmp = _GDIPlus_GraphicsCreateFromHWND(WinGetHandle(AutoItWinGetTitle()))
    $hBitmap_Dst = _GDIPlus_BitmapCreateFromGraphics($iWidth_Dst, $iHeight_Dst, $hGraphic_Tmp)
    $hGraphic_Dst = _GDIPlus_ImageGetGraphicsContext($hBitmap_Dst)

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

    _GDIPlus_GraphicsFillRect($hGraphic_Dst, 0, 0, $iWidth_Dst, $iHeight_Dst, $hTexture_Src)
    _GDIPlus_ImageSaveToFile($hBitmap_Dst, $sPath_Dst)

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

    _GDIPlus_GraphicsDispose($hGraphic_Tmp)
    _GDIPlus_GraphicsDispose($hGraphic_Dst)
    _GDIPlus_BitmapDispose($hBitmap_Dst)
    _GDIPlus_ImageDispose($hImage_Src)
    _GDIPlus_BrushDispose($hTexture_Src)
    _GDIPlus_Shutdown()
    EndFunc

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

    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _GDIPlus_TextureCreate
    ; Description ...: Creates a TextureBrush object based on an image and a wrap mode
    ; Syntax.........: _GDIPlus_TextureCreate($hImage[, $iWrapMode = 0])
    ; Parameters ....: $hImage - Pointer to an Image object
    ; $iWrapMode - Wrap mode that specifies how repeated copies of an image are used to tile an area when it is
    ; +painted with the texture brush:
    ; |0 - Tiling without flipping
    ; |1 - Tiles are flipped horizontally as you move from one tile to the next in a row
    ; |2 - Tiles are flipped vertically as you move from one tile to the next in a column
    ; |3 - Tiles are flipped horizontally as you move along a row and flipped vertically as you move along a column
    ; |4 - No tiling takes place
    ; Return values .: Success - Pointer to a new TextureBrush object
    ; Failure - 0 and either:
    ; |@error and @extended are set if DllCall failed
    ; |$GDIP_STATUS contains a non zero value specifying the error code
    ; Remarks .......: The size of the brush defaults to the size of the image, so the entire image is used by the brush
    ; After you are done with the object, call _GDIPlus_BrushDispose to release the object resources
    ; Related .......: _GDIPlus_BrushDispose
    ; Link ..........; @@MsdnLink@@ GdipCreateTexture
    ; Example .......; No
    ; ===============================================================================================================================
    Func _GDIPlus_TextureCreate($hImage, $iWrapMode = 0)
    Local $aResult = DllCall($ghGDIPDll, "uint", "GdipCreateTexture", "hwnd", $hImage, "int", $iWrapMode, "int*", 0)

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

    If @error Then Return SetError(@error, @extended, 0)
    $GDIP_STATUS = $aResult[0]
    Return $aResult[3]
    EndFunc ;==>_GDIPlus_TextureCreate

    [/autoit]
  • Music Tagger

    • name22
    • 22. Januar 2011 um 18:57

    Hey cool! Das kann ich echt gut gebrauchen :thumbup: . Ich brauche es zwar eher um das genaue Gegenteil seines Verwendungswecks zu machen (nämlich die Dateinamen aus den Tags zusammensetzen), aber die ID3.au3 wird noch nützlich sein :D.

  • Minigame: Lights out

    • name22
    • 22. Januar 2011 um 18:42

    Das geht auch einfacher, hier mal ein Beispiel ;).

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <Array.au3>
    #include <Date.au3>

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

    Global $aLights[40], $aRemaining[40], $bStart = False, $iCurTarget = Random(0, 39, 1), $Timer, $iH, $iM, $iS
    For $i = 0 To 39
    $aRemaining[$i] = $i
    Next

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

    $hWnd = GUICreate("Test", 355, 450, 0, 0)
    $iX = 5
    $iY = 5
    For $i = 1 To 40
    $aLights[$i - 1] = GUICtrlCreateButton("", $iX, $iY, 50, 50)
    GUICtrlSetBkColor(-1, 0x505050)
    $iX += 55
    If Not Mod($i, 5) Then
    $iY += 55
    $iX = 5
    EndIf
    Next
    $cStart = GUICtrlCreateButton("Start", 290, 5, 60, 25)
    GUISetState()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $cStart
    If $bStart = False Then
    _Reset()
    $bStart = True
    $iCurTarget = $aRemaining[Random(0, UBound($aRemaining) - 1, 1)]
    GUICtrlSetBkColor($aLights[$iCurTarget], 0xFF0000)
    _ArrayDelete($aRemaining, _ArrayInterpolationSearch($aRemaining, $iCurTarget))
    $Timer = TimerInit()
    EndIf
    Case $aLights[$iCurTarget]
    If $bStart Then
    GUICtrlSetState($aLights[$iCurTarget], $GUI_DISABLE)
    GUICtrlSetBkColor($aLights[$iCurTarget], 0x00FF00)

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

    If UBound($aRemaining) = 1 Then
    $iCurTarget = $aRemaining[Random(0, UBound($aRemaining) - 1, 1)]
    GUICtrlSetBkColor($aLights[$iCurTarget], 0xFF0000)
    $aRemaining = 0
    ElseIf UBound($aRemaining) > 1 Then
    $iCurTarget = $aRemaining[Random(0, UBound($aRemaining) - 1, 1)]
    GUICtrlSetBkColor($aLights[$iCurTarget], 0xFF0000)
    _ArrayDelete($aRemaining, _ArrayInterpolationSearch($aRemaining, $iCurTarget))
    ElseIf Not $aRemaining Then
    _TicksToTime(Floor(TimerDiff($Timer)), $iH, $iM, $iS)
    If Not $iH Then
    MsgBox(64, "Info", "Du hast innerhalb von " & StringFormat("%02d:%02d", $iM, $iS) & " Sekunden alle Lichter ausgemacht.")
    Else
    MsgBox(16, "Error", "Mann, bist du langsam! Du hast ganze " & $iH & " Stunden gebraucht.")
    EndIf
    $bStart = False
    EndIf
    EndIf
    EndSwitch
    WEnd

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

    Func _Reset()
    Dim $aRemaining[40]
    For $i = 0 To 39
    GUICtrlSetState($aLights[$i], $GUI_ENABLE)
    GUICtrlSetBkColor($aLights[$i], 0x505050)
    $aRemaining[$i] = $i
    Next
    EndFunc ;==>_Reset

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

    Func _ArrayInterpolationSearch(ByRef $a_Search, $iValue, $iStart = 0, $iEnd = -1)
    ; Author: name22 (http://www.autoit.de)
    If $iEnd = -1 Then $iEnd = UBound($a_Search) - 1
    If $a_Search[$iStart] > $iValue Then Return SetError(2, 0, -1)
    If $a_Search[$iEnd] < $iValue Then Return SetError(3, 0, -1)

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

    While $iValue >= $a_Search[$iStart] And $iValue <= $a_Search[$iEnd]
    $iPotentialPos = Round($iStart + (($iValue - $a_Search[$iStart]) / ($a_Search[$iEnd] - $a_Search[$iStart])) * ($iEnd - $iStart))
    Select
    Case $a_Search[$iPotentialPos] = $iValue
    Return $iPotentialPos
    Case $a_Search[$iPotentialPos] > $iValue
    $iEnd = $iPotentialPos - 1
    Case $a_Search[$iPotentialPos] < $iValue
    $iStart = $iPotentialPos + 1
    EndSelect
    WEnd

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

    Return SetError(1, 0, -1)
    EndFunc ;==>_ArrayInterpolationSearch

    [/autoit]
  • 2 kleine Fragen

    • name22
    • 22. Januar 2011 um 17:57

    Ja, aber wenn er Probleme hat _StringEncrypt zu verstehen würde ich es erstmal bei dieser Funktion belassen ^^.

  • Tray Icon schlechte Qualität...

    • name22
    • 22. Januar 2011 um 17:55

    Ach so ^^. Ja das sieht eigenartig aus. Man könnte ja den "Glow" in der Nähe des Randes verkleinern oder Das ganze Logo verkleinern...

  • Tray Icon schlechte Qualität...

    • name22
    • 22. Januar 2011 um 17:09
    Zitat


    Übrigens sieht der Glow-Effekt beim großen Icon etwas komisch aus, da er an den Rändern von Icon abgeschnitten ist.


    Wenn man das Bild aus dem Icon extrahiert ohne die Masken des Icons zu berücksichtigen sieht das komisch aus. Oder wie meinst du das?

  • 2 kleine Fragen

    • name22
    • 22. Januar 2011 um 17:06

    So kannst du deinen Text mit _StringEncrypt verschlüsseln:

    [autoit]

    $sCrypt = _StringEncrypt(1, $sText, '3!7FmTI>:N]@pv{+>')

    [/autoit]


    Welches Passwort du nimmst ist relativ unwichtig. Den Rückgabewert speicherst du in einer .ini und falls du den Text dann aus der .ini wieder ausliest und entschlüsseln willst, verwendest du _StringEncrypt mit dem selben Passwort aber einer 0 als ersten Parameter. Das Passwort wird im Script gespeichert, das ist nicht sehr sicher, aber definitiv sicherer als die Daten einfach so in der .ini zu speichern. ;)

  • Regedit eintrag problem bei If abfrage eines Wertes

    • name22
    • 22. Januar 2011 um 14:43
    Zitat

    ja aber jetzt ist das der umgekehrte fall das er den Wert 1 nicht mehr an nimmt und sagt das es nicht nötig ist wobei es immer noch auf 0 steht.


    Öhm. Was? ^^ Sorry aber ich kann dir gerade nicht so ganz folgen... Sag doch mal wann der Schlüssel auf welchen Wert gesetzt werden soll.

  • Regedit eintrag problem bei If abfrage eines Wertes

    • name22
    • 22. Januar 2011 um 14:32

    Funktioniert das hier?

    [autoit]

    RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System", "DisableTaskMgr")
    If @error Then
    RegWrite ("HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System", "DisableTaskMgr","REG_DWORD","0")
    MsgBox(0,'','wurde erstellt')
    Else
    MsgBox(0,'','nicht nötig')
    EndIf

    [/autoit]
  • Regedit eintrag problem bei If abfrage eines Wertes

    • name22
    • 22. Januar 2011 um 14:11

    Überprüfe doch einfach @error nach dem Aufruf von RegRead, dann weißt du ob der Schlüssel existiert oder nicht. ;)

  • Handel Control

    • name22
    • 22. Januar 2011 um 13:13

    Genau. Damit dürfte dann ja das Problem gelöst sein und du könntest dann auch das Präfix des Threads auf gelöst stellen. ;)

  • control coord´s

    • name22
    • 22. Januar 2011 um 13:09

    Kopf -> Tisch... Ups, da hab ich wohl was verwechselt :pinch: .

  • Handel Control

    • name22
    • 22. Januar 2011 um 13:07

    Verwende doch einfach die "Win" Funktionen mit dem Handle statt dem Titel des Fensters ;). Also so:

    [autoit]

    WinMove($hWnd, "", 50, 50)

    [/autoit]
  • 2 kleine Fragen

    • name22
    • 22. Januar 2011 um 00:21

    Das Beispiel aus der Hilfe zu _StringEncrypt dürfte doch alles erklären, oder?

  • Virtuelle Tastatur

    • name22
    • 21. Januar 2011 um 22:43
    Zitat

    Kann mir jemand helfen?


    Nur wenn du mit diesem Doubleposting aufhörst. :rolleyes:
    Wie meinst du das? Klick einfach auf das Fadenkreuz und ziehe die Maus mit gedrückter linker Maustaste auf das gewünschte Control. Dann bekommst du alle Infos aufgelistet.

  • Virtuelle Tastatur

    • name22
    • 21. Januar 2011 um 21:56
    Zitat

    und wie kann ich Classname und instance eines Fensters herausfinden?


    Mit dem AutoItWindowInfo Tool kannst du die eines Controls herausfinden ;). Ein Fenster hat keine Instance... Ich rede von Controls, und nicht deren Fenstern.

  • Virtuelle Tastatur

    • name22
    • 21. Januar 2011 um 21:23
    Zitat

    Weiß jemand woran das liegt???


    Nicht jedes Fenster hat ein Control Mit dem Classname Edit und der Instance 1 ;).

  • 2 kleine Fragen

    • name22
    • 21. Januar 2011 um 21:21
    Zitat

    2.: Wie verschlüssle ich Daten, die ich in einer ".ini" Datei speichere, und mache sie nachher aber für AutoIt wieder lesbar? Es geht um eine Art Loginscript.

    [autoit]

    _StringEncrypt

    [/autoit]


    Oder die Funktionen der Crypt.au3.

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™