Aktives Fenster mit VBS-Skript suchen

7334
user3133076

Ich muss den Desktop alle 10 Minuten automatisch aktualisieren.

Die einzige funktionierende Methode, die ich gefunden habe, ist die Verwendung dieses VBS-Codes.

Sh.AppActivate "Program Manager"

Sh.SendKeys("")

Auf diese Weise wird das aktive Fenster zum Desktop.

Ich muss den Fokus auf dem Fenster, das ich verwende, erneut aktivieren, bevor das Skript startet.

0
Ich habe das Gefühl, dass dies ein XY-Problem sein kann. Warum haben Sie das Gefühl, dass Sie den Desktop alle 10 Minuten aktualisieren müssen? EBGreen vor 9 Jahren 2
Es ist lange zu erklären. Es ist ein wichtiger Teil eines Debug-Prozesses, um ein komplexeres Stapelprogramm zu testen. user3133076 vor 9 Jahren 0
"Es dauert lange zu erklären", macht es für jemanden schwer, sich die Mühe zu geben, eine gute Antwort zu finden. EBGreen vor 9 Jahren 0
Ich kann nicht genauer sein, sorry. Ich muss es nur für Debug-Zwecke tun. user3133076 vor 9 Jahren 0
Sie sollten AutoHotkey auschecken. Es http://ahkscript.org/. Es macht jede Art von UI-Automatisierung einfach. Kody Brown vor 7 Jahren 0

2 Antworten auf die Frage

1
user3133076

Ich habe einen Trick gefunden, um das Problem zu lösen:

Fügen Sie am und im Skript die Befehlszeile hinzu:

Sh.SendKeys("%") 

Dadurch wird der Fokus auf das Fenster, das ich vor dem Start des Skripts verwendete, wieder aktiviert.

0
Ƭᴇcʜιᴇ007

Ich muss den Fokus auf dem Fenster, das ich verwende, erneut aktivieren, bevor das Skript startet.

  • Erfassen Sie das aktuelle Fenster (Titel oder PID) mit einem COM-Wrapper.

Anweisungen hierzu finden Sie unter StackOverflow: So finden Sie den Fenstertitel des aktiven (Vordergrund) Fensters mithilfe von Window Script Host

  • Nimm es in eine Variable auf.
  • Aktivieren Sie den Desktop.
  • Aktualisierung.
  • Stellen Sie den Fokus auf das aufgezeichnete Fenster zurück, indem Sie den Inhalt der Variablen verwenden.