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

Beiträge von NewVersionTester

  • Aufgabe mit AutoIt lösbar?

    • NewVersionTester
    • 27. Februar 2014 um 10:28

    Wie viel Zeit du brauchst kann man schwer sagen. Aber es sollte in angemessener Zeit zu bewältigen sein.

    Hier ein paar Tipps:
    1. kannst du mit Run machen
    2. nimm ControlClick oder MouseClick
    3. einfach Send und abschließend Send("{Enter}")
    4. siehe vorige Antworten (zum Auslesen der Datei FileOpen, FileRead(Line) und FileClose verwenden)
    5. Send("{Enter}")

    Und: WinWaitActive bei den erscheinenden Fenstern nicht vergessen.

    Viel Spaß beim Skripten! :D

  • Erkennungsfunktion

    • NewVersionTester
    • 26. Februar 2014 um 19:50

    Alternativ kannst du auch den Text markieren, kopieren und im Programm die Zwischenablage auslesen.

    Script:

    [autoit]


    Run("notepad.exe")
    WinWaitActive("[CLASS:Notepad]")
    While 1
    Send("^a") ;Alles markieren
    Send("^c") ;Kopieren
    Send("{RIGHT}") ;Markierung entfernen
    Local $NotepadText = ClipGet() ;Lese Zwischenablage
    If $NotepadText = 'Ketchup' Then
    Send(" und Mayonaise. ;)")
    EndIf
    Sleep(1000) ;Um Notepad nicht ganz zu überlasten
    WEnd

    [/autoit]

    Hinweis: Wenn der Benutzer dies direkt eingeben soll würde ich auch lieber ControlGetText verwenden.

  • programm beenden

    • NewVersionTester
    • 26. Februar 2014 um 19:24

    Die Includes stören nicht (außer das sie vielleicht minimal den Skriptstart verlangsamen).

    Aber vielleicht könnte dich ja folgendes Programm interessieren. Es macht das Management der Includes sehr leicht:
    Organize Includes

  • Splash Ladebildschirm (ähnlich wie bei Office 2010)

    • NewVersionTester
    • 20. Februar 2014 um 19:29

    Weisgarnix: Der Thread war nochmal 2 Jahre her.
    Aber ich antworte trotzdem denn diese UDF könnte vielleicht doch noch einige Leute interessieren.

    Der folgende Link zum Download geht:
    http://www.maxreble.de/prgs/ModernSplash/ModernSplash1.3.zip

  • programm beenden

    • NewVersionTester
    • 20. Februar 2014 um 17:39

    Gut ich möchte dein Script jetzt wirklich nicht kritisieren aber (so wie du dein Script jetzt geschrieben hast) sind alle Includes sinnlos und die Zeile 10 macht genau das rückgängig was auf Zeile 9 gemacht wird.

    Und wie gesagt du könntest das ganze mit _WinAPI_FileInUse lösen.
    Dazu musst du den Konverter aber so starten das nicht (direkt) auf das Beenden des Konverters gewartet wird.
    Also:

    [autoit]


    ShellExecute($coder)
    ;oder
    Run($coder) ;(wenn $coder wie in deinem Fall eine .exe ist)

    [/autoit]

    Dann musst du entweder _WinAPI_FileInUse in einer Schleife aufrufen und den Converter beenden (z.B. mit ProcessClose) wenn die Datei genutzt wird (bitte Hilfe zu do oder while und _WinAPI_FileInUse lesen).
    ODER
    du bekommst den Fenstertitel des Konverters heraus (Tipp: Au3Info) und schreibt den Scriptteil nach dem Starten dann etwa so:

    [autoit]


    WinWait($WindowTitle_normal) ;Hier den Fenstertitel beim Start vom Converter einfügen
    WinWait($WindowTitle_finish) ;Hier den Fenstertitel einfügen der angezeigt wird wenn der Converter fertig ist (ich denke doch das der Converter seinen Fenstertitel ändert)

    [/autoit]

    P.S: "cdauswurf" geht bei AutoIt auch mit CDTray

  • if(@SEC==00 geht nicht

    • NewVersionTester
    • 19. Februar 2014 um 19:42

    Und übrigens muss in AutoIt nach if nicht zwingend eine Klammer folgen:

    [autoit]

    If @Sec = 20 Then ;...

    [/autoit]


    geht auch.

  • programm beenden

    • NewVersionTester
    • 19. Februar 2014 um 19:38
    Zitat

    ShellExecuteWait weil das andere alles immer erst starten kann wenn das vorhergehende fertig


    das ginge wenn du eine Exe ausführst auch mit RunWait.

    Zitat

    sorry aber über _WinAPI_FileInUse ($sFile) finde ich nix


    Um _WinAPI_FileInUse benutzen zu können musst du die WinAPI inkludieren mit

    [autoit]

    #include <WinAPI.au3>

    [/autoit]


    Statt $sFile einfach den Dateipfad (der wav) angeben.
    Mehr Infos (englisch)

    Aber abgesehen davon beendet sich das Programm nicht nachdem es den Ton abgespielt hat?
    Oder ändert es z.B. seinen Fenstertitel? (den könnte man auch auslesen mit WinGetTitle)

  • Webseite auf Erreichbarkeit testen - aber ohne Ping

    • NewVersionTester
    • 18. Februar 2014 um 17:31

    Wie wäre es mit InetGetSize. Das dauert nicht solange wie InetGet oder InetRead da die Datei nicht vollständig heruntergeladen wird sondern nur die Größe abgefragt wird. Falls die Webseite nicht verfügbar ist wird @error gesetzt.

    Bsp.:

    [autoit]

    Local $size=InetGetSize($Website)
    If $size=0 Or @error Then ;... --> Seite ist nicht verfügbar.

    [/autoit]
  • Rückgabewert von AutiIt3.exe bei RequireAdmin

    • NewVersionTester
    • 18. Februar 2014 um 17:20

    Ich stimme chip zu.

    Aber du müsstest den "Fehler" beheben können wenn du SciTE gleich mit Adminrechten startest (Rechtsklick -> Als Administrator starten). Dann müssten die Rechte gleich an den Unterprozess vererbt werden und das Script müsste nicht neugestartet werden.

  • Anfänger Frage SearchPixel nach 8 sec abrechen

    • NewVersionTester
    • 18. Februar 2014 um 17:00

    Bloß als Tipp: Du (Djheiko) kannst den Thread jetzt als geschlossen gelöst markieren.

  • auslesen von dateien und schreiben in eine neue

    • NewVersionTester
    • 18. Februar 2014 um 16:55

    Wenn du den zu schreibenden Text aus einer Datei ausliest kannst du einfach folgendermaßen nur die ersten 3 Zeichen auslesen und schreiben:

    [autoit]

    Local $read=FileRead("Datei.txt",3) ;(es werden nur die 1. 3 Zeichen ausgelesen)

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

    $filehwnd=FileOpen("DateiNEU.txt", 2) ;(der vorherige Inhalt wird überschrieben)
    FileWrite($filehwnd, $read)
    FileClose($filehwnd)

    [/autoit]

    Wenn du den Text schon in einem String hast mach es wie Schnitzel schon gesagt hat:

    [autoit]

    Local $text="Dies ist ein Beispiel"
    $text=StringLeft($text,3) ;Gibt nur die 1. 3 Zeichen von links zurück

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

    $filehwnd=FileOpen("DateiNEU.txt", 2) ;(der vorherige Inhalt wird überschrieben)
    FileWrite($filehwnd, $read) ;würde hier "Die" schreiben
    FileClose($filehwnd)

    [/autoit]
  • Anfänger Frage SearchPixel nach 8 sec abrechen

    • NewVersionTester
    • 17. Februar 2014 um 19:01

    Du kannst jede Schleife (while, do & co) nach einer Zeitangabe abbrechen. Dazu startest du die Zeitnahme vor der Schleife mit dem Befehl TimerInit und liest in der Schleife mit TimerDiff die Zeit aus und beendest die Schleife mit Exitloop falls die Zeit überschritten wurde.
    Du musst nur beachten das TimerDiff die Zeit in Millisekunden zurückgibt und das die Zeit nicht immer genau erreicht wird sondern überschritten wird.
    :!: Z.B. wäre dies eine potentiell fehlerhaftes Script!

    [autoit]

    If TimerDiff($timerhwnd) = 8000 Then ;...

    [/autoit]

    :thumbup: Richtig wäre:

    [autoit]

    If TimerDiff($timerhwnd) >= 8000 Then ;...

    [/autoit]
  • TuneUp Utilities PC Optimation Mode umschalten

    • NewVersionTester
    • 15. Februar 2014 um 13:49

    Die TuneUp-Optimierungmoduse werden von TuneUp durch folgendes Programm gesteuert:
    C:\program files\TuneUp Utilities 2013\PowerModeManager.exe

    Wobei du "C:\program files\TuneUp Utilities 2013" durch den richtigen Pfad ersetzen musst in den du deine TuneUp-Version installiert ist.

    Du kannst die Moduse dann einfach steuern indem du dieses Programm mit folgenden Parametern aufrufst:

    • /activateturbo: aktiviert den Turbo-Modus
    • /activatedefault: aktiviert den Standart-Modus
    • /activateeco: aktiviert den Economy-Modus

    Zusätzlich kannst du diesen Parameter anhängen, um das Umschalten des Moduses unsichtbar (ohne Anzeige einer Benutzeroberfläche) erfolgen zu lassen:

    • /invisible /invisible

    (Der Parameter sollte wirklich 2x geschrieben werden - das ist kein Schreibfehler.)


    Du könntest dies also z.B. mit folgende Batch-Zeilen lösen:

    Turbo-Modus aktivieren:

    Code
    start "C:\program files\TuneUp Utilities 2013\PowerModeManager.exe"  /activateturbo


    Turbo-Modus deaktivieren (Standart-Modus aktivieren):

    Code
    start "C:\program files\TuneUp Utilities 2013\PowerModeManager.exe"  /activatedefault


    Hinweis: Evt. muss nach start und vor dem Pfad noch die Angabe eines Fenstertitels erfolgen. Es kann einfach "" angegeben werden. Allerdings ist dies eigentlich nur der Fall wenn man WinXP oder älter benutzt.

    Oder hier eine bessere Variante in AutoIt:

    [autoit]

    Global $ProgramFilesDir=@ProgramFilesDir ;evt. musst du hier manuell den Programm-Pfad eintragen z.B.: C:\program files oder C:\program files(x86)
    Global $TUVersion='2013'
    Global $TUInstallPath=$ProgramFilesDir & '\TuneUp Utilities ' & $TUVersion

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

    ;Aktivieren des Turbo-Moduses
    RunWait($TUInstallPath & '\PowerModeManager.exe /activateturbo') ;(du könntest auch Run statt RunWait verwenden damit AutoIt nicht auf das Beenden wartet)

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

    ;Deaktivieren des Turbo-Moduses
    RunWait($TUInstallPath & '\PowerModeManager.exe /activatedefault')

    [/autoit]

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™