SendKeys -> WindowsTaste + Tab + Tab?

BartTheDevil89

Devilution Media
ID: 87739
L
2 Mai 2006
3.960
103
Hallo zusammen,

ich habe im Netz folgendes kleines Script gefunden, was fast alles macht, was ich möchte:

Code:
Set oShell = WScript.CreateObject("WScript.Shell")
n = 0
Do
n = n + 1
oShell.SendKeys("f")
WScript.Sleep 30000
Loop
Set oShell = Nothing

Hier wird ja einfach alle 30 Sekunden der Buchstabe "f" virtuell geklickt. Soweit schön, aber ich bräuchte folgendes:

"Windowstaste + Tab + Tab" (macht diesen schönen 3D-Umschwung zwischen den offenen Fenstern)

Wie muss jetzt "SendKeys" lauten um die Windowstaste + Tab + Tab zu klicken?

Danke für die Hilfe
 
Ich bezweifle, dass das was wird. Windows+... sind "Systemkombinationen", die man vermutlich nicht durch ein SendKeys in die Key-Queue injecten kann.
 
Ich bezweifle, dass das was wird. Windows+... sind "Systemkombinationen", die man vermutlich nicht durch ein SendKeys in die Key-Queue injecten kann.

Hast du sonst irgendwie eine Idee? Aufgabe ist, dass einfach alle 30 Sekunden zwischen den geöffneten Fenstern gewechselt wird. Und das wäre natürlich mit dieser tollen 3D-Funktion sehr schön gewesen. Vielleicht ein Tastaturemulator, der automatisch sowas absenden kann?

EDIT: Gerade nochmal bisschen gegoogled. Die Funktion kann ich ja auch über "DwmApi #105" aufrufen. Wäre das vielleicht machbar? Quasi:

"DwmApi #105" + Taste "Tab" + Taste "Tab2 + Taste "Enter".

Denke Tab, Tab, Enter wäre ja machbar. Aber gibts noch ne Möglichkeit den Code oben aufzurufen um die Flip 3D funktion zu öffnen?
 
Zuletzt bearbeitet:
Klingt nach ner sehr merkwürdigen Aufgabe ;)

Habe hier 4 Programme laufen und nen schönen Screen auf dem einfach automatisch alle 30 Sekunden zum nächsten Programm gewechselt werden soll. Und das am besten noch über das Flip 3D in Win7, da das gleich noch bisschen was hermacht. :p Ist quasi ne Art Präsentationsmonitor. (nur das PowerPoint oder so leider nicht geht)

Hätte jetzt sogar Flip 3D geöffnet, aber er nutzt dann irgendwie nicht mehr Tab, Tab, Enter.

Code:
Set oShell = WScript.CreateObject("WScript.Shell") 
n = 0 
Do 
n = n + 1
oShell.Run Chr(34) & "C:\Windows\System32\rundll32.exe" & Chr(34) & "DwmApi #105", 1, false
oShell.SendKeys("{TAB}") 
oShell.SendKeys("{TAB}") 
oShell.SendKeys("{ENTER}")
WScript.Sleep 30000 
Loop 
Set oShell = Nothing

Woran kann es liegen?
 
Zuletzt bearbeitet:
schon mal daran gedacht, das jedes Programm seine eigenen Shortcuts aktiv in den Speicher packt und auf den Tastatur interupt wartet ?
Die Frage ist dann nur, wird jeder beim Interupt behandelt, der auf eine Abfrage dirt wartet.
Anscheinend wird eben nur eine Funktion angesprungen und nicht alle. Liegt daran, dass nur das aktive Programm her mit seinen Routinen im Speicher aktiv auf den Interupt zugreift.
Eigentlich sollte ein Timer Interupt auch auslösen und auf Dein Programm verweisen, dann sollte das auch funtzen.

Frage: warum 2 mal Tab ?