online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon Juergen52 vom 16.04.2021, 16:50 Options

Lösung

Fenster schließen mit VBS

Hallo!
Ich möchte ein VBscript, das zuerst abfragt, ob ein IE-Fenster bereits göffnet ist, wenn ja, dieses schließen und im Script weiter fortfahren. Wenn keines geöffnet ist, gleich weiter gehen.

Wie müsste der Code dafür aussehen?

Danke, schon mal.


Antwort schreiben

Antwort 1 von Massaraksch vom 16.04.2021, 17:31 Options

Könnte man so machen:

' Script beendet alle laufenden IE-Prozesse
' [von Massaraksch]

' WMI-Objekt erstellen
Set objWMI = GetObject("winmgmts:")

' Alle laufenden IE-Prozesse ermitteln
Set colProcessList = objWMI.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'iexplore.exe'")

' Alle gefundenen IE-Prozesse ohne Rückfrage beenden
For Each objProcess in colProcessList
    objProcess.Terminate()
Next

Ist allerdings ein "unsanftes" Beenden. Bei aktivierter Absturzwiederherstellung (gibts glaub ich erst bei IE8?) fragt der IE beim nächsten Start evtl. nach, ob die letzte Sitzung wiederhergestellt werden soll.

Massaraksch

Antwort 2 von Massaraksch vom 16.04.2021, 17:49 Options

OK, probiern wir's mal etwas anders:
' Script schließt alle geöffneten IE-Fenster
' [von Massaraksch]

' Shell-Objekt erstellen
set objShell = createobject("Shell.Application")

' Jedes offene IE-Fenster schließen
for each objShWindow in objShell.Windows
    if objShWindow.Application.Name = "Windows Internet Explorer" then objShWindow.Quit
next

Dies wäre dann die "sanfte" Tour. Teste mal...
Massaraksch

Antwort 3 von Massaraksch vom 16.04.2021, 18:04 Options

Hmm, grübel, eigentlich ist die Prüfung des Namens Bockwurst, denn das können eh nur IE's sein. Also müßt es kürzer gehen:
...
for each objShWindow in objShell.Windows
    objShWindow.Quit
next
...

Massaraksch

Antwort 4 von Massaraksch vom 16.04.2021, 18:27 Options

Ach nee, vergiß Antwort 3 schnell wieder! War echt Blödsinn von mir.

Probiers mit Antwort 2.

Massaraksch

Antwort 5 von Juergen52 vom 16.04.2021, 21:49 Options

Danke für deine Mühe mir zu helfen.
Das Script aus Antwort 2 schliesst kein Fenster. Verursacht auch keine Fehlermeldung. Script läuft normal durch.

Antwort 1 kann ich nicht nutzen, da Win98 nicht WMI tauglich ist.

Antwort 6 von Massaraksch vom 16.04.2021, 23:16 Options

Ach, Win98? Nutzt das noch wer? ;o)

Mal sehn, evtl. könnte man ja die Pfadzeichenfolge der Shell-Fenster nach iexplore.exe durchforsten. Das sollte eigentlich eindeutig sein auch bei Win98. Probier mal:
set objShell = createobject("Shell.Application")

for each objShWindow in objShell.Windows
    if instr(1, objShWindow.FullName, "iexplore.exe", 1) then objShWindow.Quit
next

Massaraksch

Antwort 7 von Juergen52 vom 17.04.2021, 09:08 Options

Jetzt funktioniert es. Danke!

Antwort 8 von Juergen52 vom 17.04.2021, 10:02 OptionsLösung

Lösung
Hier mal das fertige VBscript, für die, die sich dafür interessieren.

' ====================================================
' File:   Autologin.vbs (WSH-Beispiel in VBScript)
'
' Zweck:  Stellt eine Verbindung zum Internet-Portal 
'         www.WEB.DE her und führt eine automatische  
'         Anmeldung zum FreeMail-Postfach durch.
' ====================================================
  Option Explicit

'*****************************************************
' Achtung: Nachfolgend müssen der eigene Benutzername
'          sowie das Kennwort eingetragen werden.
'          Es besteht dadurch die Gefahr, dass diese
'          ausgespäht werden.
'*****************************************************
  Const UserName = "XXXX"       ' Ihr Benutzername
  Const Pword = "YYYYYY"       ' Ihr Passwort/Kennwort im Klartext
'*****************************************************

Const sTitle = "Login bei FreeMail von WEB.de"

Dim oDoc, oIE, objShell, objShWindow

If MsgBox ("Benutzer '" & UserName & "' an WEB.DE-Postfach anmelden?", _
            vbYesNo + vbQuestion, sTitle) = vbNo Then _
  WScript.Quit                    ' Benutzerabbruch

' Shell-Objekt erstellen
Set objShell = WScript.CreateObject("Shell.Application")

' Jedes offene IE-Fenster schließen
For Each objShWindow In objShell.Windows
    if instr(1, objShWindow.FullName, "iexplore.exe", 1) then objShWindow.Quit

Next

Set oIE = WScript.CreateObject("InternetExplorer.Application") ' IE starten
oIE.Visible = True
oIE.Navigate "www.web.de"         ' WEB.DE Startseite aufrufen

Do
Loop Until oIE.ReadyState = 4     ' warten, bis Seite geladen

' Jetzt Anmeldedaten in Postfach-Felder eintragen und anmelden
Set oDoc = oIE.Document            ' Hole Objektreferenz auf HTML-Seite
oDoc.FM.username.Value = UserName  ' Setze Benutzername
oDoc.FM.password.Value = Pword     ' Setze Kennwort
oDoc.FM.submit                     ' Formular abschicken

' Ende

Das Script im Notepad-Editor einfügen und als Autologin.vbs abspeichern. Die datei auf dem Desktop ablegen und bei bestehender Internetverbindung mit eien Doppelklick auf die datei starten.

Wem es interessiert - habe auch noch ein Script für ARCOR.de-Postfach geschrieben.

Antwort 9 von Buerger vom 21.04.2021, 16:36 Options

Hi, Jürgen

das Script funktioniert einwandfrei und spart ein Paar Mausklicks. Danke!

Antwort 10 von bukdk vom 09.05.2021, 10:10 Options

Funzt ausgezeichnet.

Bei gmx muss es statt

oDoc.FM.username.Value = UserName ' Setze Benutzername
oDoc.FM.password.Value = Pword ' Setze Kennwort
oDoc.FM.submit ' Formular abschicken

oDoc.formLogin.username.Value = UserName ' Setze Benutzername
oDoc.formLogin.password.Value = Pword ' Setze Kennwort
oDoc.formLogin.submit ' Formular abschicken

und statt

oIE.Navigate "www.web.de"

oIE.Navigate "www.gmx.de"


heißen.

Ähnliche Themen

VBS Registry auslesen
-Shane  18.10.2007 - 194 Hits - 6 Antworten

VBS - Befehl ausführen wenn CreateObject fehlschlägt?!
Benni03  22.10.2007 - 93 Hits - 1 Antwort

VBS-Schleife bis (Word)Textende erreicht ist
HAWISCHA  28.11.2007 - 95 Hits - 2 Antworten

.vbs in .bat konvertieren
shorty066  03.09.2008 - 54 Hits - 7 Antworten

JSON mit VBS parsen
Joshuan  13.11.2008 - 31 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026