Makro / Programmfenster zyklisch umschalten

Mahlzeit,

für eine Überwachung von Betriebszuständen habe ich 5 oder 6 Programme, die mir bestimmte grafische Auswertungen zeigen. Wenn ich die jeweils nächste sehen will, kann ich die nächste Task in den Vordergrund bringen, indem ich auf Alt-Tabulator drücke. Fein.

Nun möchte ich das automatisiert ablaufen lassen, damit das Ganze periodisch auf meinem Überwachungsmonitor zu sehen ist. Ich habe an den Makrorekorder gedacht, aber da stoße ich auf folgendes Problem: die Taskliste wird nach jedem Umschalten umsortiert.

Programm A (Vordergrund)
Programm B
Programm C
Programm D
Programm E

Nach einmal Umschalten siht das so aus:

Programm B (Vordergrund)
Programm A
Programm C
Programm D
Programm E

Schalte ich noch einmeal mit Alt-TAB um, so komme ich nicht wie gewollt auf Programm C, sondern wieder auf Programm A.

Hat jemand eine Idee, wie ich das lösen kann? Muß kein Makro sein, sondern einfach eine Möglichkeit, zyklisch die laufenden Programme auf den Vordergrund bringen.

Gruß und vielen Dank im voraus

Sancho

Mahlzeit,

Hi,
schreib mal folgenden Code in eine *.vbs-Datei

dim akt\_prog
dim progs(1)
dim n
dim sekunden
Set shell = CreateObject("WScript.Shell")

sekunden=3
progs(0)="Netzwerkumgebung"
progs(1)="Papierkorb"

n=false
akt\_prog=0
do
 if timer mod sekunden = 0 And n=false then
 'msgbox progs(akt\_prog)
 shell.sendkeys "%{TAB}"
 shell.appactivate progs(akt\_prog), 3
 if akt\_prog = ubound(progs) then
 akt\_prog=0
 else 
 akt\_prog=akt\_prog + 1 
 end if
 n=true
 end if
 if timer mod sekunden \> 0 And n=true then
 n=false
 end if
loop

Anpassen :

  • dim progs(Anzahl der Programme - 1)
  • Programme unter progs(?) = „dein Programm“ eintragen
  • sekunden-Variable setzen

Bei mir (WinXP) funzt’s.
Gruß.Timo

für eine Überwachung von Betriebszuständen habe ich 5 oder 6
Programme, die mir bestimmte grafische Auswertungen zeigen.
Wenn ich die jeweils nächste sehen will, kann ich die nächste
Task in den Vordergrund bringen, indem ich auf Alt-Tabulator
drücke. Fein.

Nun möchte ich das automatisiert ablaufen lassen, damit das
Ganze periodisch auf meinem Überwachungsmonitor zu sehen ist.
Ich habe an den Makrorekorder gedacht, aber da stoße ich auf
folgendes Problem: die Taskliste wird nach jedem Umschalten
umsortiert.

Programm A (Vordergrund)
Programm B
Programm C
Programm D
Programm E

Nach einmal Umschalten siht das so aus:

Programm B (Vordergrund)
Programm A
Programm C
Programm D
Programm E

Schalte ich noch einmeal mit Alt-TAB um, so komme ich nicht
wie gewollt auf Programm C, sondern wieder auf Programm A.

Hat jemand eine Idee, wie ich das lösen kann? Muß kein Makro
sein, sondern einfach eine Möglichkeit, zyklisch die laufenden
Programme auf den Vordergrund bringen.

Gruß und vielen Dank im voraus

Sancho

noch was
Hi,
wenn du manuell zyklisch springen willst, so musst du jedes mal die ALT-Taste gedrück halten und („Anzahl der offenen Fenster“ - 1) mal die Tabulatortaste drücken.

Gruß.Timo

Hi,

schreib mal folgenden Code in eine *.vbs-Datei

Danke, klappt ganz gut - manche Programme legen ein komisches Verhalten an den Tag, was ihre Fenstertitel angeht.

Aber dein zweiter Tip unten brachte mich auf die Idee, anstatt ALT-Tab die umgekehrte Reihenfolge mit Shift-Alt-Tab zu probieren - die macht das genauso, wie ich das will!

Gruß

Sancho

für eine Überwachung von Betriebszuständen habe ich 5 oder 6
Programme, die mir bestimmte grafische Auswertungen zeigen.
Wenn ich die jeweils nächste sehen will, kann ich die nächste
Task in den Vordergrund bringen, indem ich auf Alt-Tabulator
drücke. Fein. …

Hallo Sancho,

wenn du die Fenstertitel weisst, kannst du das mit den Windows-Funktionen FindWindow und BringWindowToTop direkt angehen. Etwas Programmieren ist natürlich notwendig. Siehe u.a. hier:

http://www.activevb.de/rubriken/apikatalog/deklarati…

Gruss Reinhard