If-Schleife

  • Hallo,
    habe mir ein kleines Script geschrieben,dass beim starten von firefox eine andere exe. starten soll...
    Ich habe die abfrage, ob firefox geöffnet ist, natürlich in einer Schleife geschrieben...., dass öffnen der exe. hab ich da auch mit in die Schleife geschrieben. Natürlich öffnet er jetzt die exe. zich mal...
    Wie kann ich das ändern?

    Mein script:

    [autoit]

    While True
    If ProcessExists ( "firefox.exe" ) Then
    ShellExecute ( "Firefox-Haubtscript.exe" )
    EndIf
    WEnd

    [/autoit]
  • du könntest abfragen, ob der Prozess schon existiert.
    Oder du machst das alles variabelgesteuert a la

    [autoit]


    $exist = false
    while true
    if processexists("firefox.exe") then
    if $exist = false then
    $exist = true
    ShellExecute ( "Firefox-Haubtscript.exe" )
    endif
    else
    if $exist = true then $exist = false
    endif

    [/autoit]

    ist ungetestet (Linux), vllt hab ich auch einen Denkfehler...

    MfG,
    Fresapore

  • [autoit]

    While True
    If ProcessExists ( "firefox.exe" ) Then
    ShellExecute ( "Firefox-Haubtscript.exe" )
    ExitLoop
    EndIf
    WEnd

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    über mich...

    ich habe meine Erfahrungen hauptsächlich gesammelt in (grobe Übersicht):

    - RibbonBar Automation
    - MySQL Nutzung
    - GUIs in vielerlei Ausprägung
    - Nutzung von Powershell / Batch in AutoIt
    - Windows Automatisierung

    außerhalb von AutoIt:

    - Sprachen: PS, Batch, php, html(5), javascript, (perl eingeschränkt), vbs
    - Powershell (AD, WPF inkl. Multi-Threading, ...)
    - Deployment-Automatisierung ohne SCCM
    - Office-Nutzung mit COM-Object (AutoIt, PowerShell)
    - ActiveDirectory und alles was damit zusammenhängt
    - Hyper-V Clustering (Converged / Hyper Converged)
    - Serverhardware (Konfiguration, Aufbau, Architektur, Betrieb)

    Lieblingsthema:

    günstige Automatisierung von Vorgängen, für die andere Firmen viel Geld nehmen

    more to come ...

  • [autoit]

    While True
    If ProcessExists("firefox.exe") And Not ProcessExists("Firefox-Haubtscript.exe") Then
    ShellExecute("Firefox-Haubtscript.exe")
    ExitLoop
    EndIf
    WEnd

    [/autoit]
  • AspirinJunkie,
    ich habe "nur" geantwortet.

    Du hast ja gleich optimiert ;)

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    über mich...

    ich habe meine Erfahrungen hauptsächlich gesammelt in (grobe Übersicht):

    - RibbonBar Automation
    - MySQL Nutzung
    - GUIs in vielerlei Ausprägung
    - Nutzung von Powershell / Batch in AutoIt
    - Windows Automatisierung

    außerhalb von AutoIt:

    - Sprachen: PS, Batch, php, html(5), javascript, (perl eingeschränkt), vbs
    - Powershell (AD, WPF inkl. Multi-Threading, ...)
    - Deployment-Automatisierung ohne SCCM
    - Office-Nutzung mit COM-Object (AutoIt, PowerShell)
    - ActiveDirectory und alles was damit zusammenhängt
    - Hyper-V Clustering (Converged / Hyper Converged)
    - Serverhardware (Konfiguration, Aufbau, Architektur, Betrieb)

    Lieblingsthema:

    günstige Automatisierung von Vorgängen, für die andere Firmen viel Geld nehmen

    more to come ...

  • Danke AspirinJunkie, so werd ichs machen,
    an alle anderen sorry, meine Frage war etwas blöd gestellt...

  • Kann mal einer Haubtscript zu Hauptscript machen, das tut ja beim Lesen weh... :whistling:

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

  • Wenn das aufzurufende Programm in AutoIt geschrieben ist, schaue dir doch bitte die geniale Funktion _Singleton an.

    Gruß,
    Matthias