retz12
Goto Top

VBS-Script schließen von Fenster verhindern

Ich habe ein Anmelde Script in VBS geschrieben, dass beim Anmelden ein Internet Explorer Fenster öffnet und den Status der einzelnen Befehle anzeigt.
Jetzt bin ich draufgekommen, dass einige User frühzeitig das Fenster schließen.
Ich weiß dann nicht ob alle Befehle ordnungsgemäß ausgeführt wurden.

Jetzt meine Frage:
Kann man in einem VBS-Script das Schließen eines Fensters (mittels X rechts oben) verhindern?

Content-ID: 93022

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

Ausgedruckt am: 22.11.2024 um 01:11 Uhr

AndreasHoster
AndreasHoster 28.07.2008 um 10:27:49 Uhr
Goto Top
Na ja, einfachste Variante:
Den IE im FullScreen / Kiosk Modus starten. Da gibts dann keine Adress/Menuleiste mehr und auch keine Titelleiste, damit auch kein X zum Schließen (hilft nicht gegen Strg+Alt+Del und den Taskmanager)
Edit: Hilft aber gegen Strg+W und Alt+F4

Die andere Variante hilft nicht wirklich gegen das Schließen, aber Du kannst auf das Schließen reagieren. Mann kann in VBS die Events des IE bekommen und damit auf das onQuit Event reagieren. Der IE schließt immer noch, aber man könnte dann einfach einen neuen aufmachen.
Hier ein BSP-Code-Schnipsel
Set oIE=Wscript.CreateObject("InternetExplorer.Application","ie_")  
oIE.navigate("Hier die URL")  
oIE.FullScreen = False <- True für Kioskmodus
oIE.visible=true

sub ie_onQuit
REM Hier könnte man jetzt auf das Schliessen mit irgendwas reagieren. z.B. einen neuen IE aufmachen.
end sub
67369
67369 28.07.2008 um 11:39:33 Uhr
Goto Top
Kann man in einem VBS-Script das Schließen eines Fensters (mittels X rechts oben) verhindern?

Nicht wirklich. Der IE lässt sich auch einfachst über STRG-W schließen.
Logan000
Logan000 28.07.2008 um 15:27:34 Uhr
Goto Top
Moin moin

Das ist zwar nicht genau das was Du suchst aber vielleicht ....

Wann immer ich eine Skriptausgabe im IE mache, merke ich mir in einer Variable den gesamten HTML text den ich für jede Meldung/Ausgabe erweitere.

Set objExplorer = WScript.CreateObject("InternetExplorer.Application")  
objExplorer.Width=400
objExplorer.Height = 500 
objExplorer.Left = 20
objExplorer.Top = 20
HTMLText = "<body><h1>Hallo Lieber User</h1> </body>"  
objExplorer.Document.Body.InnerHTML = HTMLText 

HTMLText = HTMLText & "<br> Zeit aufzuwachen"  
objExplorer.Document.Body.InnerHTML = HTMLText 
....

Solte der User das IE Fenster zwischendurch schliessen wird es bei nächsten .InnerHTML setzen alles wieder angezeigt.
Das ist natürlich nur ein Notnagel.

Gruß L.
67369
67369 28.07.2008 um 15:43:04 Uhr
Goto Top
Edit: Hilft aber gegen Strg+W und Alt+F4

Das hättest du wohl gern. Was gegen Schließen eines Fensters hilft, ist ein Sperren der Tastatur und der Maus, und sonst nichts.

Gegen STRG-W und ALT-F4 hilft dein Script, so wie es da steht
Set oIE=Wscript.CreateObject("InternetExplorer.Application","ie_")
oIE.navigate("Hier die URL")
oIE.FullScreen = False <- True für Kioskmodus
oIE.visible=true


sub ie_onQuit
REM Hier könnte man jetzt auf das Schliessen mit irgendwas reagieren. z.B. einen neuen IE aufmachen.
end sub

jedenfalls nicht.
AndreasHoster
AndreasHoster 28.07.2008 um 16:49:20 Uhr
Goto Top
Nochmals getestet, ist tasächlich richtig.
Beim ersten Mal ging Strg+W nicht, weil das Kiosk-Fenster den Fokus nicht hatte.

OK, da hilft dann halt doch nur, im onQuit einen neuen IE zu öffnen.