; <Windows>+<BildAuf> wählt Gerät 0 (das Oberste) in der Liste der Audiogeräte (TV)
; und ändert die Auflösung auf passendes Format des Fernsehers (1280x720x32, 60Hz)
#PgUp up:: SelectAndShowAudioDevice(0,"Fernseher") ChangeDisplaySettings( (bpp:=32), (breite:=1280), (hoehe:=720), (hZ:=60) )
; <Windows>+<BildAb> wählt Gerät 1 (das zweite von oben) in der Liste der Audiogeräte (Lautsprecher)
; und ändert die Auflösung auf passendes Format des Monitors (1440x900x32, 59Hz)
#PgDn up:: SelectAndShowAudioDevice(1,"Lautsprecher") ChangeDisplaySettings( (bpp:=32), (breite:=1440), (hoehe:=900), (hZ:=59) )
;Ab hier erfolgt die kurzzeitige Anzeige des gewählten Geräts in der Taskleiste
SelectAndShowAudioDevice(deviceNumber, deviceName)
{
error := ActivateAudioDevice(deviceNumber)
if error
TrayTip % "Fehler beim Aktivieren von " . deviceName, % error
else
TrayTip % deviceName . " aktiv", % "Audiowiedergabe erfolgt über " . deviceName
}
ActivateAudioDevice(deviceNumber)
{
IfWinNotExist Sound
{
; Öffne Sound Fenster
Run % "RunDll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,0"
WinWait Sound,,2
if ErrorLevel
Return "Sound Fenster nicht gefunden"
CloseSoundWindowAtEnd := True
}
ControlSend SysListView321, {HOME} ; Zum Anfang der Liste mit Pos1
ControlSend SysListView321, {DOWN %deviceNumber%} ; Zum Audiogerät navigieren
SetControlDelay -1 ; Aktiviere schnellen Mausklick
ControlClick Button2 ; Mausklick auf 'Als Standard'
if CloseSoundWindowAtEnd
WinClose
}
;Ab hier folgt Programmcode für die Umstellzung der Auflösung
; Shimanov & Skan / http://www.autohotkey.com/forum/post-164871.html#164871
; cD -> BitsPerPixel / sW -> Breite / sH -> H?he / rR -> BildschirmFrequenz
ChangeDisplaySettings( cD, sW, sH, rR )
{
VarSetCapacity(dM,156,0), NumPut(156,2,&dM,36)
DllCall( "EnumDisplaySettings", UInt,0, UInt,-1, UInt,&dM ), NumPut(0x5c0000,dM,40)
NumPut(cD,dM,104), NumPut(sW,dM,108), NumPut(sH,dM,112), NumPut(rR,dM,120)
Return DllCall( "ChangeDisplaySettings", UInt,&dM, UInt,0 )
}