Supportnet Computer
Planet of Tech

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

Aktives Fenster abfragen





Frage

Hallo Community, ich bräuchte eure Hilfe bei folgendem Problem: Ich möchte mit VBScript den Titel des aktiven Fensters auslesen. Ist das möglich? Wenn ja mit welchem Code funktioniert das?

Antwort 1 von zero_-_-cool

Gar nicht so schwer.
2 Api-Aufrufe und fetich.^^

Hier etwas genauer
http://www.vbarchiv.net/archiv/tipp_details.php?pid=850

Antwort 2 von Black_Planet

Zunächst mal vielen Dank für die Info.
Irgendwie funktioniert das nicht. Ich bekomme beim Ausführen folgende Fehlermeldung:
"Ln 23, Col 17 Anweisungsende erwartet"
Zeile 23 lautet:
"Private Declare Function GetForegroundWindow Lib "user32" () As Long"
Irgendwie fehlen mir da wohl einige Basics...

Antwort 3 von zero_-_-cool

Bist du dir sicher?
Bei mir funktioniert der Code 1:1.
???

Kopier ihn nochmal 1:1 in ein neues Modul. Danach prüfst du ihn mal in dem du auf einen CommandButton folgenden Code legst:
MsgBox (GetActiveWindowTitle)


Sollte es danach immer noch nicht funktonieren, bin ich etwas ratlos^^
Wäre es vielleicht möglich das es von einem anderen Codestück deines Projektes verursacht wird?

Antwort 4 von Black_Planet

Wow, ich bin beeindruckt. Hab den Code wie angeordnet in ein leeres Modul gepackt, Command Button - Und ging. Doll! Jetzt ist das aber nicht ganz das was ich brauche. Wie komme ich von (Sowieso ohne den Command Button) zu einer VBS-Datei.
Mal kurz die Aufgabenstellung:
Die VBS-Datei wird vom Scheduler regelmäßig aufgerufen. Es werden verschiedene Tastendrücke über Sendkeys simuliert. Um da jetzt das richtige zu treffen muss ich den Titel des aktiven Fensters erfahren und vergleichen können wenn ich z.B. mit Strg-Tab durch die Fenster springe.
Ergo muss in dieses VBS-File während der Ausführung ein Befehl rein der diesen Titel abfragen kann.
Stelle ich mich jetzt sehr dämlich an, oder kannst du mir helfen?

Antwort 5 von zero_-_-cool

Hmm, also da bin ich jetzt doch etwas überfordert.^^
Sry, aba da muss dir jemand anderst helfen.

Antwort 6 von Massaraksch

Könnte man vielleicht so machen:

´Warten, bis das Fenster "Titel des Fensters" aktiv ist
While WshShell.AppActivate("Titel des Fensters") = FALSE
Wscript.Sleep 1000
Wend
´Tastenfolge an dieses Fenster senden
WshShell.SendKeys "TASTENFOLGE"

Codefragmente von hier:
Beispiel "defrag2k.vbs"

Massaraksch

Antwort 7 von Black_Planet

Erstmal many THX, bin so weiter gekommen.
Nochmal ´ne blöde Frage. Aber den Titel des aktiven Fenster kann ich mir selber nicht anzeigen lassen?

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: