Programm schliessen mit Rückmeldung

  • VBScript

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von manowar30.

    Programm schliessen mit Rückmeldung

    Hallo zusammen,

    Kann mir jemand helfen bei einem VBScript ?
    Folgendes:

    Grundsätzlich soll nachgeprüft werden ob eine bestimmte *.exe läuft.
    Falls ja, soll eine Message Box ausgegeben werden das der User das Porgramm schliessen soll und dann auf Ok klicken in der Message Box.
    Ist die exe tatsächlich geschlossen nach dem "ok" klick soll sich das VBScript beenden.
    Falls das Programm beim "ok" klick noch nicht geschlossen wurde sollte
    die Message Box mit der Aufforderung zum Programm beenden nochmals erscheinen solange bis die exe halt nicht mehr läuft !

    Kann mir jemand zeigen wie man sowas scriptet ?

    Danke schonmal

    Gruss
    Joe


    PS:
    Da ich dies in einem MSI Paket nutzen will sollte kein wsh Befahl drin vorkommen.

    Visual Basic-Quellcode

    1. Machine = "localhost"
    2. AppName = "notepad.exe"
    3. Set Processes = GetObject("winmgmts://" & Machine).ExecQuery("SELECT * FROM Win32_Process WHERE Caption LIKE '" & AppName & "'")
    4. For Each Process In Processes
    5. If InputBox("Soll " & AppName & " ID=" & Process.ProcessID & " geschlossen werden?") = vbOk Then RetVal = Process.Terminate(0)
    6. Next
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „petaod“ ()

    nicht ganz...

    der user sollte wenn zb. die notepad.exe läuft nur eine Message box bekommen wo er aufgefordert wird <Programmname> zu schliessen .

    dies sollte er mit ok bestätigen können . bzw. es popt solang hoch bis die exe wirklich nicht mehr läuft.



    Gruss

    Joe

    Visual Basic-Quellcode

    1. Machine = "localhost"
    2. AppName = "notepad.exe"
    3. Do
    4. Set Processes = GetObject("winmgmts://" & Machine).ExecQuery("SELECT * FROM Win32_Process WHERE Caption LIKE '" & AppName & "'")
    5. If Processes.Count > 0 Then MsgBox "Please close " & AppName
    6. Loop Until Processes.Count=0
    Das hättest du mit dem gegebenen Ansatz aber auch selbst können. ;)
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --