Powershell "SendKeys" - simulierte keystrokes an Anwendungen schicken?

2 Antworten

Die Tastenanschläge werden immer an das Fenster (oder genauer Steuerelement) gesendet, das gerade den Fokus hat.

Wenn also das also das entsprechende TS-Fenster ist, dann kommen die Tastenanschläge auch da an.

Erteile deinem Zielfenster den Focus!

....nötigenfalls vor jedem sendkey erneut

Im einfachsten Fall nutze ebenso wie bei sendkey ein wsh-script:

$wsh = New-Object -ComObject WScript.Shell
$wsh.AppActivate("FenstertitleDeinerAnwendung")
$wsh.SendKeys('{NUMLOCK}')
...usw.

https://ss64.com/vb/appactivate.html

https://docs.microsoft.com/de-de/office/vba/language/reference/user-interface-help/appactivate-statement

Alternativ zum wsh kannst du auch mit Systemassemlys artbeiten:

https://stackoverflow.com/questions/35679178/appactivate-working-inconsistently-in-powershell

Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren