Überprüfen ob Programm geöffnet ist und dann etw. ausführen

  • VBScript

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Sebbe.

    Überprüfen ob Programm geöffnet ist und dann etw. ausführen

    Bin gerade dabei einen Kiosk Computer aufzusetzen und mein Ziel ist es dass der Computer startet, dann ein VBS Script ausgeführt wir, welches ein JukeBox Programm öffnet und dann in den Vollbildmodus versetzt.

    Habe auch schon ein ansatzweise funktionierendes VB Skript geschrieben:

    Option Explicit

    Dim fsShell

    Set fsShell = WScript.CreateObject("WScript.Shell")

    fsShell.Run """C:\Program Files\J River\Media Center 15\Media Center 15.exe"""

    Wscript.Sleep 5000

    fsShell.Sendkeys ("^4")


    jedoch ist die Variante nicht sehr schön und professionel. (STRG + 4 ist übrigens das Kürzel für den Vollbildmodus)

    Jetz wäre meine Frage ob es einen Weg gibt dem Skript zu sagen dass es prüfen soll ob das Programm fertig geladen hat und es dann in Vollbildmodus zu versetzen.

    BTW bin nicht sehr vertraut mit VBS und auch generell mit programmieren nicht.
    Also Anfänger verständliche Antworten wären sehr nett :).

    Mit freundlichen Grüßen,

    Sebbe
    Geht das nicht so?

    Visual Basic-Quellcode

    1. start "Media Center 15" /i /max /normal "C:\Program Files\J River\Media Center 15\Media Center 15.exe"


    Der Aufruf wäre dann aus einer Batch-Datei (*.bat)
    Gruß
    Peterfido

    Keine Unterstützung per PN!
    löst aber leider mein problem nicht!

    habe jetz eine Möglichkeit gefunden aber versteh nicht warum sie nicht funktioniert!

    Visual Basic-Quellcode

    1. set wmi = Getobject("winmgmts:")
    2. set system = wmi.instancesof(win"win32_process")
    3. set fsshell = wscript.createobject("wscript.shell")
    4. for each process in system
    5. if lcase(process.name)="Media Center 15.exe" then
    6. fsshell.appactivate "Media Center"
    7. fsshell.sendkeys("^4")
    8. end if
    9. next


    Ich start einfach das Programm mit der .bat datei und prüfe dann mit dem Script ob ein Prozess mit dem Namen läuft und wenn ja hol ich das Programm in den Vordergrund und er gibt das Kürzel ein.

    Jedoch funktioniert mein Programm mit jedem Prozess nur nicht mit meinem.

    Das heißt wenn ich z.b. prüfen lass ob notepad.exe offen ist und ich öffne es zuvor dann funktioniert der Code perfekt nur irgendwie erkennt er mein Programm nicht.

    MFG

    Sebbe
    Hi,

    du hast ja für Run Parameter:

    Set WshShell = WScript.CreateObject("WScript.Shell")
    Return = WshShell.Run("notepad.exe", 3, true)

    Das wäre Maximiert starten. Das ist wahrscheinlich noch nicht Vollbildmodus. Doch vll kannst du deinem Programm einen Parameter mitgeben das direkt im Full-Screen gestartet wird.
    Irgendwo bezieht der Player auch seine Einstellungen her. Wahrscheinlich aus der Registry. Vll gibts einen Schlüssel der festlegt in welchem Mode das Programm starten, bzw in welcher Größe.
    Einfach mal mit ProcMon das Programm starten und schauen was und wo er aus der Reg liest.

    Gruß Mono
    Das ist meine Signatur und sie wird wunderbar sein!
    Hi.
    Ich kenne mich damit nicht aus, aber kann es sein, dass "lcase" für "lowercase" steht?
    Folgende Zeile:

    Visual Basic-Quellcode

    1. if lcase(process.name)="Media Center 15.exe" then
    müsste dann so aussehen:

    Visual Basic-Quellcode

    1. if lcase(process.name)="media center 15.exe" then


    Gruß..
    To make foobar2000 a real random music player, I figured out the only way to achieve this is to use Windows Media Player.

    At some point in time, you recognize that knowing more does not necessarily make you more happy.