lp-tobi
Goto Top

VBS-Script oder Batch zum Browser öffnen nach beenden des Browsers

Guten Tag!
Ich hab ein VBS-Script mit dem ich Anwendungen wieder öffnen kann nachdem sie vom Benutzer geschlossen wurden sind.
Sprich der Benutzer beendet den Texteditor und das Script öffnet ihn wieder.

Das ganze funktioniert nun bei allen Anwendungen außer bei Browsern.
Dafür sollte das Script allerdings sein.
Wenn ich einen Browser mit einbinde öffnet der Browser sich unendliche Male und das Script wartet nicht bis er geschlossen wurde.

Hier das Script:
Const wshRunning = 0, wshFinished = 1, wshFailed = 2
Dim wshShell

Set wshShell = CreateObject("WScript.Shell")  

Do Until 1 + 1 = 1 '   
Call ExecProg("C:\Program Files\Internet Explorer\iexplore.exe")  
Loop '   


Sub ExecProg(strProg)
Dim wshExec

Set wshExec = wshShell.Exec(strProg)

Do
Wscript.Sleep 1000 ' eine sec nix tun  
Loop While wshExec.Status = wshRunning
End Sub



Alternativ könnte man das bestimmt auch iwie in einer Batch machen?

LG Tobi

Content-Key: 239615

Url: https://administrator.de/contentid/239615

Printed on: April 18, 2024 at 15:04 o'clock

Member: Xaero1982
Xaero1982 May 30, 2014 at 16:44:10 (UTC)
Goto Top
Nabend,

lustiges Script face-smile Aber benutze doch bitte CodeTags...

Also bei mir funktioniert es super mit dem IE v. 11.

Gruß
Member: LP-Tobi
LP-Tobi May 31, 2014 updated at 17:09:12 (UTC)
Goto Top
Du hast Recht, mit dem Internet Explorer funktioniert das ganze.
Mit Firefox leider nicht. Der öffnet sich x Mal.
Opera öffnet dann x Tab´s face-smile

Irgendwelche Ideen wie ich das ganze mit Firefox zum laufen bekomme?

Gruß
Mitglied: 116301
116301 Jun 01, 2014 updated at 08:49:14 (UTC)
Goto Top
Hallo LP-Tobi!

Vielleicht so:
Const strProg = "C:\Program Files\Internet Explorer\iexplore.exe"  

Const vbNormalFocus = 1
Const vbMinimizedFocus = 2
Const vbMaximizedFocus = 3

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")  

'Programm-Name ermitteln  
strProcess = CreateObject("Scripting.FileSystemObject").GetFileName(strProg)  

With CreateObject("WScript.Shell")  
    Do
        'Test Programm geschlossen  
        If objWMIService.ExecQuery("Select * from Win32_Process Where Name='" & strProcess & "'").Count = 0 Then  
            'Programm starten, warten bis geschlossen und erneut starten  
            .Run Chr(34) & strProg & Chr(34), vbNormalFocus, True
        End If
    Loop
End With

@Xaero1982
lustiges Scriptface-smile
Finde ich auchface-wink

Grüße Dieter
Member: colinardo
colinardo Jun 01, 2014 updated at 16:03:12 (UTC)
Goto Top
Moin Tobi,
hier hilft dir z.B. auch ein simples AutoIT-Script, das einmal gestartet ständig im Hintergrund läuft und Firefox neu startet falls er geschlossen wurde (lässt sich einfach zur Exe kompilieren):
#NoTrayIcon
While 1
	if not ProcessExists("firefox.exe") then  
		Run("C:\Program Files (x86)\Mozilla Firefox\firefox.exe")  
	endif
	; pausiere 2 Sekunden vor einer erneuten Überprüfung
	Sleep(2000)
WEnd
Grüße Uwe