fries3
Goto Top

Win+K Verbindung zu einem Gerät Wireless HDMI automatisieren

Hallo zusammen,

ich habe einen Win10 Laptop der mit einem Fernseher über Wireless HDMI gekoppelt ist.

Sobald der Laptop hochgefahren ist, muss man Win+K drücken und den Wireless HDMI Dongle auswählen.

Kann man das ganze irgendwie automatisieren? z.B über die Aufgabenplanung oder via Script?

Ich bedanke mich schonmal im Vorraus.

Beste Grüße!

Content-Key: 1441148762

Url: https://administrator.de/contentid/1441148762

Printed on: April 23, 2024 at 18:04 o'clock

Member: chkdsk
chkdsk Oct 28, 2021 updated at 11:23:00 (UTC)
Goto Top
vielleicht könnte man es via Powershell und SendKeys realisieren
Member: KowaKowalski
KowaKowalski Oct 28, 2021 at 10:56:09 (UTC)
Goto Top
Hi Fries,

mit Boardmitteln ist mir kein Weg bekannt.

Eventuell mit AutoIT und/oder seinen Verwandten.


mfg
kowa
Member: Fries3
Fries3 Oct 28, 2021 at 10:59:33 (UTC)
Goto Top
Könnte man es evtl ein bisschen mehr ausdehnen/erklären? Bin ein ziemlicher Newbie, was solche Sachen angeht.
Mitglied: 149569
149569 Oct 28, 2021 updated at 11:49:10 (UTC)
Goto Top
vielleicht könnte man es via Powershell und SendKeys realisieren
SendKeys kann keine Windows-Tasten simulieren da musst du in die Win32-Trickkiste greifen
Add-Type -MemberDefinition '[DllImport("user32.dll")] public static extern void keybd_event(byte bVk, byte bScan, uint dwFlags,UIntPtr dwExtraInfo);' -name t -namespace w32  
[w32.t]::keybd_event(0x5b,0,0,[UIntPtr]::Zero)
[w32.t]::keybd_event(0x4B,0,0,[UIntPtr]::Zero)
[w32.t]::keybd_event(0x4B,0,0x2,[UIntPtr]::Zero)
[w32.t]::keybd_event(0x5b,0,0x2,[UIntPtr]::Zero)
Member: Fries3
Fries3 Oct 28, 2021 at 12:12:10 (UTC)
Goto Top
Zitat von @149569:

vielleicht könnte man es via Powershell und SendKeys realisieren
SendKeys kann keine Windows-Tasten simulieren da musst du in die Win32-Trickkiste greifen
> Add-Type -MemberDefinition '[DllImport("user32.dll")] public static extern void keybd_event(byte bVk, byte bScan, uint dwFlags,UIntPtr dwExtraInfo);' -name t -namespace w32  
> [w32.t]::keybd_event(0x5b,0,0,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x4B,0,0,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x4B,0,0x2,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x5b,0,0x2,[UIntPtr]::Zero)
> 

also diesen code als batch abspeichern und das script in die Aufgabenplanung einfügen? oder ist das zu leicht gedacht?
Mitglied: 149569
149569 Oct 28, 2021 updated at 12:19:33 (UTC)
Goto Top
Zitat von @Fries3:
also diesen code als batch abspeichern und das script in die Aufgabenplanung einfügen?
Nö, das ist kein Batch das ist Powershell steht doch drüber, ließt hier denn keiner mehr was in den Beiträgen steht ...?!
oder ist das zu leicht gedacht?
Jepp...
Lesen und verstehen: Kapitel 1: Erste Schritte mit PowerShell
Member: Fries3
Fries3 Oct 28, 2021 at 12:23:25 (UTC)
Goto Top
Zitat von @149569:

Zitat von @Fries3:
also diesen code als batch abspeichern und das script in die Aufgabenplanung einfügen?
Nö, das ist kein Batch das ist Powershell steht doch drüber, ließt hier denn keiner mehr was in den Beiträgen steht ...?!
oder ist das zu leicht gedacht?
Jepp...
Lesen und verstehen: Kapitel 1: Erste Schritte mit PowerShell

was bewirkt dieser Powershell-Code denn genau?
Mitglied: 149569
149569 Oct 28, 2021 updated at 12:27:35 (UTC)
Goto Top
Zitat von @Fries3:

Zitat von @149569:
was bewirkt dieser Powershell-Code denn genau?
Na das was du oben willst: WIN+K drücken. Tasten müssen ja auch wieder losgelassen werden und das macht der Code ja ebenfalls face-wink, also insgesamt 4 Schritte. 2 Tasten jeweils drücken und wieder loslassen = 4.
Die Virtual Key Codes kannst du hier nachschlagen
https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-code ...
Member: Fries3
Fries3 Oct 28, 2021 at 12:29:35 (UTC)
Goto Top
Ja sorry, bin noch ein totaler Anfänger...
wie kann ich dann powershell sagen, das er den Wireless HDMI Dongle vom TV selbständig auswählen soll?
Member: Fries3
Fries3 Oct 28, 2021 at 12:31:33 (UTC)
Goto Top
Hier ein Screen:

unbenannt
Mitglied: 149569
149569 Oct 28, 2021 updated at 14:13:46 (UTC)
Goto Top
wie kann ich dann powershell sagen, das er den Wireless HDMI Dongle vom TV selbständig auswählen soll?
Kann ich dir nicht sagen, da ich das hier mangels Hardware nicht testen kann. Probiere halt die Tastenkombinationen aus die du dafür brauchst und ergänze diese...
Member: Fries3
Fries3 Jul 06, 2022 at 07:43:10 (UTC)
Goto Top
Also ich benötige nach WIN+K die TAB Taste und danach Enter..

Habe den Code mal erweitert - vielleicht schaut mal eben jemand drüber, ob das so richtig gedacht ist:

> Add-Type -MemberDefinition '[DllImport("user32.dll")] public static extern void keybd_event(byte bVk, byte bScan, uint dwFlags,UIntPtr dwExtraInfo);' -name t -namespace w32  
> [w32.t]::keybd_event(0x5b,0,0,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x4B,0,0,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x4B,0,0x2,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x5b,0,0x2,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x09,0,0,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x09,0,0x2,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x0D,0,0,[UIntPtr]::Zero)
> [w32.t]::keybd_event(0x0D,0,0x2,[UIntPtr]::Zero)
Member: Fries3
Fries3 Jul 06, 2022 updated at 09:22:03 (UTC)
Goto Top
ich habe das Script nun als verbinden.ps1 abgespeichert. (PowerShell ISE)

Die ps1 Datei auf einen Stick gepackt und möchte diese jetzt auf den besagten Laptop nach jeder Benutzeranmeldung ausführen lassen - Wenn nach dem hochfahren quasi der Desktop bereit ist.

Habe das ganze in der Aufgabenplanung involviert und das ganze so konfiguriert:
unbenannt
bei jeder Benutzeranmeldung / 30sek. Verzögerung.

Dann öffnet sich auch Powershell und versucht wohl das script auszuführen, aber leider funktioniert es nicht, es kommt u.a folgende erste und rote Meldung:

> : The term '>' is not recognized as the name of a cmdlet, function, script file, or operable program- Check the
spelling of the name, or if a path was inluded, verify that path was correct and try again.
At c:\scripte\verbinden.ps1:3 char:1

back-to-top> [w32.t]::keybd-event(0x4B,0,0,[UIntPtr]::Zero)


+ CategoryInfo : ObjectNotFound: (>:String) , CommandNotFoundExecption
+FullzQualifiedErrorId: CommandNotFoundExeption



Achja, Powershell ExecutionPolicy ist unrestricted.