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

Beiträge von wawaking

  • Erkennungsfunktion

    • wawaking
    • 25. Februar 2014 um 14:48

    Hallo liebe autoit-kollegen,

    ich bin nicht fündig geworden und ich weiß nicht wie ich es anstellen soll.

    Bin auf der suche nach einer Funktion, die herausfindet wenn in einem Notepad z. B: Ketchup stehen habe, dass anschließend das Autoit dies erkennt und dann z. B. mit Controlsend Mayonaise dazuschreibt.
    Ich habe es schon mit der If und Then-Funktionen probiert jedoch bin ich nicht zum Ziel angelangt.

    Vielen dank im Voraus.

  • ControlSend auf mehrere Fenster mit demselbem Titel

    • wawaking
    • 24. Februar 2014 um 14:25
    Zitat von alpines

    Was ich meine ist ganz einfach, da jedes Fenster unterschiedlich ist hat es nicht den gleichen WinGetText aber vielleicht denselben WinGetTitle. Der 2. Parameter von ControlSend ist Text, da kannst du das Fenster genauer definieren.

    Das wusste ich bereits hat aber auch nicht geklappt. Mit der Funktion oben klappte alles wunderbar ;)

  • ControlSend auf mehrere Fenster mit demselbem Titel

    • wawaking
    • 23. Februar 2014 um 23:49
    Zitat von alpines

    Deshalb gibt es nicht nur Titel sondern auch Text.

    Was soll ich darunter verstehen??


    Zitat von Make-Grafik
    Spoiler anzeigen
    [autoit]

    ; Zwei Notepad Prozesse minimiert starten:
    Run('notepad.exe', '', @SW_MINIMIZE)
    Run('notepad.exe', '', @SW_MINIMIZE)

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

    ; Kurz Zeit geben damit die Fenster registriert werden können:
    Sleep(100)

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

    ; Nun werden alle Fenster die mit der Klassenbezeichnung "Notepad" registriert sind
    ; in ein Array geladen. Nun können mithilfer deren Handles die Texte gesendet werden:
    $avWindow = WinList('[CLASS:Notepad]')

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

    ; Fenster 1:
    ConsoleWrite(@CRLF & ' Titel: ' & $avWindow[1][0] & @CRLF & ' Handle: ' & $avWindow[1][1] & @CRLF)

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

    ; Fenster 2:
    ConsoleWrite(@CRLF & ' Titel: ' & $avWindow[2][0] & @CRLF & ' Handle: ' & $avWindow[2][1] & @CRLF & @CRLF)

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

    ; An Fenster #1 senden:
    ControlSend($avWindow[1][1], '', 15, 'Fenster #1')

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

    ; An Fenster #2 senden:
    ControlSend($avWindow[2][1], '', 15, 'Fenster #2')

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

    ; Nun nur noch die Fenster einzelnd maximieren und dann schließen:
    WinSetState($avWindow[1][1], '', @SW_MAXIMIZE)
    Sleep(2500)
    ProcessClose(WinGetProcess($avWindow[1][1]))
    Sleep(100)
    WinSetState($avWindow[2][1], '', @SW_MAXIMIZE)
    Sleep(2500)
    ProcessClose(WinGetProcess($avWindow[2][1]))

    [/autoit]


    Danke für den Aufwand Make, jedoch ist dies noch nicht das was ich meinte. Wenn du dein Comand so startest:

    Spoiler anzeigen

    Run('notepad.exe', '', "")
    Run('notepad.exe', '', "")


    Lädt er sozusagen das eine Notepad schreibt Text 1 rein schließt es und dann zeigt sich das andere und schreibt Text 2 rein.
    Wenn wir es minimalisiert starten sieht man dies ja nicht, habe ich da nicht Recht?

    Alles anzeigen

    Mir geht es darum wenn ich z. B. bereits zwei Wordpads an habe, diese heißen ja beide im Titel "Unbenannt" und haben auch den selben CodeNN.
    Aber wenn ich sendcontrol dann laufen lasse, sucht er sich nur das letzte Fenster aus in dem ich gewesen bin und schreibt auch nur dort den Text rein.
    Ist es möglich, dass der das gleichzeitig macht in beide macht?

    Für jede hilfe gibt es ein imaginäres Bier von mir ;)

  • ControlSend auf mehrere Fenster mit demselbem Titel

    • wawaking
    • 23. Februar 2014 um 20:02

    Hallo liebe Nutzer der AutoIt Gemeinde,

    ich habe vor kurzem dieses Programm entdeckt und ich finde es sehr einfach zu coden, zumindest das was ich bis jetzt geschafft habe ;)
    Nach der Bemerkung der Möglichkeiten des Programmes werde ich mich mehr damit auseinander setzen wollen.
    Da die meisten von euch fixer mit dem coden sind bitte ich um eure Hilfe. In der SuFu habe ich passende Themen gefunden, jedoch konnten diese mir nicht weiterhelfen.

    Der Fall:
    ControlSend soll auf zwei oder mehrere minimierte Fenster mit der selben Bezeichnung sprich dem Titel gleichzeitig die Tastenkombinationen reinschreiben.
    Und ist es richtig damit ich eine Endlosschleife habe mit While 1 und WEnd arbeiten muss?
    mein Code:

    Spoiler anzeigen
    [autoit]

    While 1
    ControlSend("[CLASS:Notepad]",'','[CLASS:Edit; INSTANCE:1]',"Hallo leute, ")
    Sleep(100)
    ControlSend("[CLASS:Notepad]",'','[CLASS:Edit; INSTANCE:1]',"dies ist ein Test")
    Sleep(2000)
    WEnd

    [/autoit]


    Für eure Bemühungen bedanke ich mich vielmals und ich wünsche euch einen ruhigen Sonntag-Abend :)

    Gruß

    wawaking :rock:

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™