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

Beiträge von Chaspel

  • Script zu langsam

    • Chaspel
    • 31. Dezember 2020 um 13:44

    Ahh, danke euch!!!

    AutoIt
    #include <Array.au3>
    #include <File.au3>
    
    $FileName2 = @ScriptDir &"\Buchstaben.txt"
    $file_name = FileOpen($FileName2)
    Local $aFile[5]
    
    For $i = 0 To 4
    
    $aFile[$i] = FileReadLine($file_name)
    
    Next
    
    _ArrayDisplay($aFile)
    Alles anzeigen

    So ist doch schon viel besser.

    Nochmals danke an alle.

  • Script zu langsam

    • Chaspel
    • 31. Dezember 2020 um 11:54

    Hallo Zusammen

    Kann man dieses Script irgenwie umschreiben, damit es schneller geht? Leider ist die Liste im .txt File grösser als das Array erlaubt.

    AutoIt
    #Include <File.au3>
    #include <array.au3>
    
    $FileName2 = @ScriptDir &"\Buchstaben.txt"
    $file_name = FileOpen($FileName2)
    ;~ $file_count_lines = _FileCountLines($file_name)
    $sFileName2 = @ScriptDir &"\Buchstaben1.txt"
    $hFilehandle2 = FileOpen($sFileName2, $FO_READ + $FO_APPEND)
    $Array = 16777216
    local $Array1[$Array]
    
    for $i = 1 to 16777216
    
       $Array1[$i] = FileReadLine($file_name, $i)
    
    Next
    Alles anzeigen

    I wünsche euch allen ein gutes 2021.

    Grüsse

    Chaspel

  • Windows Tray Icon klick

    • Chaspel
    • 5. Dezember 2013 um 00:22

    Ich entschuldige mich für das schreckliche Deutsch.

    Konnte es lösen:

    [autoit]


    $Window = "[active]"
    While 1
    Send("{ALT DOWN}{ESC}")
    Send("{ALT UP}")
    Sleep(100)
    Send("{ENTER}")
    Sleep(400)
    If WinWaitActive("[TITLE:Bricx Command Center]", "", 1) Then
    ExitLoop
    Else
    $Window = WinGetTitle("[active]")
    WinSetState("[active]","",@SW_MINIMIZE)
    EndIf
    WEnd

    [/autoit]

    Gruss

  • Windows Tray Icon klick

    • Chaspel
    • 3. Dezember 2013 um 21:58

    Hallo Zusammen

    Habe hier ein Skript aus dem Forum: (von funkey)

    Bis jetzt habe ich nur Line 5 abgeändert.

    [autoit]


    #Include <Array.au3>

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

    Dim $IconWidth = 18

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

    $Tray_Pos = ControlGetPos("[CLASS:Shell_TrayWnd]","", "[CLASS:MSTaskListWClass; INSTANCE:1]")
    $Anzahl = (@DesktopWidth -50 - $Tray_Pos[0] +2) / $IconWidth
    Global $Checksum[$Anzahl]

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

    For $i = 0 To $Anzahl - 1
    $Checksum[$i] = PixelChecksum($Tray_Pos[0] +3 + $i * $Anzahl,@DesktopHeight-22, $Tray_Pos[0] -3 + ($i+1) * $Anzahl,@DesktopHeight-15)
    Next

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

    _ArrayDisplay($Checksum)

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

    $Index = _ArraySearch($Checksum,"2769754899")

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

    MouseClick("left",$Tray_Pos[0] +2 + $IconWidth/2 + $Index * $IconWidth,@DesktopHeight-16)

    [/autoit]

    Wie kann ich das Skript so abändern dass sich der Linksklick auf den TITLE des Fensters bezieht, egal ob das Fenster weiter hinten oder vorne steht?
    Der Titel des Fenster bleibt immer gleich.

    Vielen Dank und schönen Abend ;)

    Gruss

  • Window Activ mit 2 Programmen?

    • Chaspel
    • 24. Oktober 2013 um 18:49

    Also als erstes macht es nicht viel sinn, (zumindest für mich da ich deinen Hintergrund für die Funktion des Skripts nicht kenne)
    dass du das mit mehreren Fenstern machen möchtest, weil dazu brauchst du eine exakten Ablauf welches Fenster sich als nächstest öffnen soll.
    Dann würde ich schon eher mit Zahlen Arbeiten (1 = öffnet PowerPoint 2...)

    2. Du brauchst pro While schlaufe nur 1ne Variable und musst diese ändern.

    [autoit]


    While 4
    $stateOutlook = WinGetState("Outlook")
    If BitAND($stateOutlook, 16) then
    WinActivate("Microsoft PowerPoint")
    Exitloop
    EndIf
    Wend

    [/autoit]

    Die Frage ist jetzt welche Reihenfolge du brauchst? Oder eben mit den Zahlen ?(

    Gruss

  • Window Activ mit 2 Programmen?

    • Chaspel
    • 24. Oktober 2013 um 18:01

    Also du meinst wenn z.B. PowerPoint offen ist und dann öffnest du Firefox oder sonst was,
    dann soll sich automatisch wieder PowerPoint in den Vordergrund schmeißen?

    Das würde für mich nicht besonders viel Sinn machen wäre aber kein Problem.

    Gruss

  • Window Activ mit 2 Programmen?

    • Chaspel
    • 24. Oktober 2013 um 15:13

    Probiers mal so:

    [autoit]


    Opt("WinTitleMatchMode", 2)

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

    While 1
    While 2
    $statePowerPoint = WinGetState("Microsoft PowerPoint")
    $stateRechner = WinGetState("Rechner")
    If BitAND($statePowerPoint, 16) then
    WinActivate("Rechner")
    Exitloop
    EndIf
    WEnd
    While 3
    $statePowerPoint = WinGetState("Microsoft PowerPoint")
    $stateRechner = WinGetState("Rechner")
    If BitAND($stateRechner, 16) then
    WinActivate("Microsoft PowerPoint")
    Exitloop
    EndIf
    WEnd
    WEnd

    [/autoit]

    Musst vielleicht noch den Titel des PowerPoint Programms anpassen.

    Gruss

  • Wallpaper Changer

    • Chaspel
    • 3. August 2013 um 22:29

    So endlich habe fertig!:)

    Nun ist auch noch ein Zufallsgenerator intergriert.

    Das Skript ist oben nochmals aktualisiert.

    Gruss

  • Wallpaper Changer

    • Chaspel
    • 1. August 2013 um 16:10

    Hey

    Habe nun mein Script im ersten Post aktualisiert.

    Nun kann man einstellen ab wann und in welchen Intervallen das Bild geändert wird.

    Bis jetzt ist es aber leider nur mit 2 Bilder möglich. :S

    Gruss

    Edit:

    Nun kann man einen ganzen Ordner einbinden.

    Soweit bin ich eigentlich fertig. Fehlt nur noch ein Zufallsgenerator.

  • Wallpaper Changer

    • Chaspel
    • 28. Juli 2013 um 13:46

    Hallo

    Ich habe jetzt endlich mein erstes kleines Script geschrieben. :D Jeder fängt mal klein an. ;)

    Auch wenn die meisten von euch das selber coden können und der Code danach besser aussieht, stell ich es mal rein.

    Das Script ist noch ausbaufähig. Im Moment erfüllt es aber mein Grundgedanke. 8)

    Zur Funktion:

    Das Hintergrundbild ändert sich jeweils am Abend um 20:00 und Morgens um 08:00. Wenn ihr das Script startet wir die Uhrzeit automatisch geprüft und eventuell das Hintergrundbild geändert.

    Das wars eigentlich, wie gesagt nichts großes.

    Viel Spass damit!

    [autoit]


    #NoTrayIcon

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

    #include <File.au3>
    #include <GUIConstantsEx.au3>
    #include <Array.au3>

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

    Local $6Zeit = 60000
    Local $Check = "Deaktiviert"

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

    GUICreate("Wallpaper Changer", 450, 220, 100, 100)
    $Label_HelloWorld = GuiCtrlCreateLabel("Bilder", 45, 5)
    $Button = GUICtrlCreateButton("Ordner wählen", 20, 20, 80, 25)
    $Button3 = GUICtrlCreateButton("Start", 330, 180, 80, 25)
    $Input = GUICtrlCreateInput("", 110, 20, 300, 25)
    $Label_HelloWorld3 = GuiCtrlCreateLabel("Start ab", 40, 107)
    $Combo = GUICtrlCreateCombo("", 110, 105, 150, 25)
    GUICtrlSetData(-1, "00|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23")
    $Combo1 = GUICtrlCreateCombo("", 260, 105, 150, 25)
    GUICtrlSetData(-1, "00|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59")
    $Label_HelloWorld4 = GuiCtrlCreateLabel("Intervall", 42, 142)
    $Combo2 = GUICtrlCreateCombo("", 110, 140, 300, 25)
    GUICtrlSetData(-1, "0.1666666666666667|0.5|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60|120|180|240|360|720|1440")
    $Label_HelloWorld5 = GuiCtrlCreateLabel("Mischen", 40, 50)
    $Checkbox = GUICtrlCreateCheckbox("", 55, 70, 0, 0)
    $Label = GuiCtrlCreateLabel("Deaktiviert", 110, 70, 300, 25)
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Select
    case $msg = -3
    Exit
    case $msg = $Button
    $var = FileSelectFolder("Choose Folder", "")
    $var2 = $var & "\"
    GUICtrlSetData($Input, "" & $var2)
    case $msg = $Combo
    $Zeit023 = GUICtrlRead($Combo)
    case $msg = $Combo1
    $Zeit059 = GUICtrlRead($Combo1)
    case $msg = $Combo2
    $Zeit160 = GUICtrlRead($Combo2)
    case $msg = $Checkbox
    If GUICtrlRead($Checkbox) = 1 Then
    $Check = "Aktiviert"
    GUICtrlSetData(-1, "Aktiviert")
    Elseif GUICtrlRead($Checkbox) = 4 Then
    $Check = "Deaktiviert"
    GUICtrlSetData(-1, "Deaktiviert")
    EndIf
    case $msg = $Button3
    GUISetState(@SW_HIDE)
    ExitLoop
    EndSelect
    WEnd

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

    $search = FileFindFirstFile($var2 & "*.*")

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

    $Liste = _FileListToArray($var2, "*", 1)

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

    While 5
    $ZeitF = $Zeit160 * $6Zeit
    If $Check = "Aktiviert" Then
    While 6
    If $Zeit023 = @HOUR Then
    While 7
    If $Zeit059 = @MIN Then
    _Adlib2()
    _Zeit2()
    While 8
    Sleep(60)
    WEnd
    EndIf
    Sleep(60)
    WEnd
    EndIf
    Sleep(60)
    WEnd
    Else
    ExitLoop
    EndIf
    Sleep(60)
    WEnd

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

    While 2
    $ZeitF = $Zeit160 * $6Zeit
    If $Zeit023 = @HOUR Then
    While 3
    If $Zeit059 = @MIN Then
    _Adlib()
    _Zeit()
    While 4
    Sleep(60)
    WEnd
    EndIf
    Sleep(60)
    WEnd
    EndIf
    Sleep(60)
    WEnd

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

    Func _Adlib()
    AdlibRegister("_Zeit", $ZeitF)
    EndFunc

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

    Func _Adlib2()
    AdlibRegister("_Zeit2", $ZeitF)
    EndFunc

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

    Func _Zeit()
    $file = FileFindNextFile($search)
    If $file = "" Then
    $search = FileFindFirstFile($var2 & "*.*")
    $file = FileFindNextFile($search)
    EndIf
    $var3 = ($var2 & $file)
    RegWrite("HKEY_CURRENT_USER\Control Panel\Desktop", "WallpaperStyle", "REG_SZ", 4)
    RegWrite("HKEY_CURRENT_USER\Control Panel\Desktop", "Wallpaper", "REG_SZ", $var3)
    DllCall("user32.dll", "int", "SystemParametersInfo", "int", 20, "int", 0, "str", $var3, "int", 0)
    EndFunc

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

    Func _Zeit2()
    $ArrayA = ($Liste[0])
    $random = Random(1, $ArrayA, 1)
    $ArrayB = ($Liste[$random])
    $var4 = ($var2 & $ArrayB)
    RegWrite("HKEY_CURRENT_USER\Control Panel\Desktop", "WallpaperStyle", "REG_SZ", 4)
    RegWrite("HKEY_CURRENT_USER\Control Panel\Desktop", "Wallpaper", "REG_SZ", $var4)
    DllCall("user32.dll", "int", "SystemParametersInfo", "int", 20, "int", 0, "str", $var4, "int", 0)
    EndFunc

    [/autoit]

    Gruss :rock:

  • Desktop Hintergrund wechseln

    • Chaspel
    • 27. Juli 2013 um 18:19

    Ok danke so gehts:

    Sogar mit jpg! :rofl:

    [autoit]


    $Wallpaper = "C:\Users\""\dwhelper2\Nacht.jpg"
    RegWrite("HKEY_CURRENT_USER\Control Panel\Desktop", "WallpaperStyle", "REG_SZ", 4)
    RegWrite("HKEY_CURRENT_USER\Control Panel\Desktop", "Wallpaper", "REG_SZ", $Wallpaper)
    DllCall("user32.dll", "int", "SystemParametersInfo", "int", 20, "int", 0, "str", $Wallpaper, "int", 0)

    [/autoit]

    Wie wärs mit mit einer Abkühlung im Pool? :D

    Gruss

  • Desktop Hintergrund wechseln

    • Chaspel
    • 27. Juli 2013 um 17:21

    Halli Hallo

    Ich möchte mein Desktop Hintergrund mit Autoit wechseln.

    Leider ist die Bildposition immer falsch:(

    Wie kann ich das einstellen, dass das Bild immer als Angepasst eingebunden wird?

    Bin so weit gekommen. (Naja mit Google)

    [autoit]


    #include <File.au3>
    $sPath = "C:\Users\*\dwhelper2\"
    $aFileList = _FileListToArray($sPath, '*.bmp', 1)
    If Not @error Then
    For $i = 1 To $aFileList[0]
    RegWrite('HKEY_CURRENT_USER\Control Panel\Desktop', 'Wallpaper', 'REG_SZ', $sPath & $aFileList[$i])
    DllCall('user32', 'int', 'SystemParametersInfo', 'int', 20, 'int', 0, 'str', $sPath & $aFileList[$i], 'int', 0)
    Sleep(5000)
    Next
    EndIf

    [/autoit]

    Vielen Dank

    Wünsche noch ein schönes heißes Sommerwochenende;)

    Gruss

  • Caesar Decoder

    • Chaspel
    • 13. Juli 2013 um 22:37

    edO öknamr onetnn eretiewniech hafreVs dnewnaner ne!

    Oder man könnte noch ein weiteres Verfahren anwenden!


    Edit:
    (Mist zu langsam!) :D

  • If abfrage mit Datum

    • Chaspel
    • 3. Juli 2013 um 21:50

    Ja wunderbar!

    Vielen Dank an alle! :rock:

    Gruss

  • If abfrage mit Datum

    • Chaspel
    • 2. Juli 2013 um 12:51

    Danke für die Anworten:)

    Hier meine Idee (Lösung):

    [autoit]


    #include <Date.au3>
    $date = _NowDate()
    $new = StringRegExpReplace($date, "(\d{2})\.(\d{2})\.(\d{4})","$3$2$1")
    If $new >= "20130702" Then
    MsgBox(0, "Datum", "Heute ist 02.07.2013")
    Else
    MsgBox(0, "Datum", "Heute ist der 01.07.2013")
    EndIf

    [/autoit]
  • If abfrage mit Datum

    • Chaspel
    • 1. Juli 2013 um 20:56

    Hallo

    Ich suche nach einer Möglichkeit, wenn ein bestimmtes Datum (z.B. 02.07.2013) überschritten wurde, dass das Programm immer in die If Then schliefe fällt. Im Moment würde es nur an einem Tag in diese Schlaufe fallen. Die MsgBoxen sind nur beispiele dort kommt natürlich was anderes rein.

    [autoit]


    #include <Date.au3>
    $Result = _NowDate()
    If $Result = ("02.07.2013") Then
    MsgBox(0, "Datum", "Heute ist der 02.07.2013")
    Else
    MsgBox(0, "Datum", "Heute ist der 01.07.2013")
    EndIf

    [/autoit]

    Ich hoffe ihr könnt mir helfen ;)

    Gruss

  • disable local inputs

    • Chaspel
    • 2. Juni 2013 um 17:50

    Hallo Leute

    Ich möchte mit Autoit an meinem Laptop die Maus und Tastatur sperren.
    Wenn ich das mit Blockinput mache sperrt er mir aber leider auch die extern angeschlossene Maus und Tastatur.

    Gibt es eine Möglichkeit dass nur intern geblockt wird?

    Vielen Dank

    Gruss

    Edit:

    Habe nun die Tastaur ausgebaut.

    Vielen Dank für die vielen Antworten :rock:

  • _IEDocReadHTML

    • Chaspel
    • 13. April 2013 um 17:16

    Habs raus!!!

    Etwas kommt mir aber Spanisch vor.

    [autoit]

    #include <IE.au3>
    #include <File.au3>

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

    Local $oIE = _IEAttach("", "instance")
    Local $oFrames = _IEFrameGetCollection($oIE)
    Local $iNumFrames = @extended
    For $i = 0 to ($iNumFrames - 1)
    $oFrame = _IEFrameGetCollection($oIE, $i)
    FileWrite("Test.txt", _IEPropertyGet($oFrame, "locationurl"))
    Next

    [/autoit]

    Ergebnis:

    Spoiler anzeigen

    http://www.geileswetter.de/UntitledFrame-…ermietungen.htm

    Soweit so gut!

    [autoit]

    #include <IE.au3>
    #include <File.au3>

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

    Local $oIE = _IEAttach("", "instance")
    Local $oFrames = _IEFrameGetCollection($oIE)
    Local $iNumFrames = @extended
    For $i = 0 to ($iNumFrames - 1)
    $oFrame = _IEFrameGetCollection($oIE, $i)
    $file = FileOpen("test.txt", 1)
    _FileWriteToLine("test.txt", 1, _IEPropertyGet($oFrame, "locationurl"), 1)
    FileClose($file)
    Next

    [/autoit]

    Ergebnis:

    Spoiler anzeigen

    http://www.geileswetter.de/Vermietungen.htm

    Endlich das gewünschte Ergebnis. :rock: Aber wieso Zeigt er jetzt nur noch eine URL an??? Das verstehe ich jetzt nicht???

    Gruss

  • _IEDocReadHTML

    • Chaspel
    • 13. April 2013 um 11:20
    Zitat

    Wenn du zwischendurch per Hand rumklickst, stimmt in deinem Skript logischerweise die Zuordnung zum IE nicht mehr, da mit _IEAttach auf die vorige Webseite referenziert wurde. Du mußt also den Bezug aktualisieren (Referenz auf die jetzt aktuelle Seite holen) oder besser nicht per Hand rumklicken, sondern alles automatisieren.

    Genau das müsste ich tun. Leider habe ich keine Idee wie das gehen soll. :S
    _IEAttach müsste wissen welches Frame zuletzt geladen wurde. Da die URL aber nicht in der Adresszeile abgeändert wird,
    fällt mir kein weg ein um dass herauszufinden. ?(

  • _IEDocReadHTML

    • Chaspel
    • 13. April 2013 um 10:24

    Guten Tag

    Hänge nun leider wieder an einem Schritt.

    Dieses mal möchte ich von dieser Test Webseite http://www.geileswetter.de/ den Quellcode auslesen.

    Das Problem dabei ist, dass wenn ich nun auf Termine klicke und mein Skript erneut ausführe kommt immer der gleiche Quellcode.

    [autoit]

    $oIE = _IEAttach("", "instance")
    $sHTML = _IEDocReadHTML($oIE)
    MsgBox(0, "Document Source", $sHTML)

    [/autoit]

    Das ist ja auch logisch.

    Nun wie kann ich es schaffen, dass mir nun der Quellcode vom (Termine.htm) ausgegeben wird und wiederum wenn ich auf Firmen klicke
    das Skript erneut starte der Quellcode vom (MZKS.htm) angezeigt wird usw.?

    Würde mich über eine Antwort freuen!

    Gruss

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™