Hi,
Ich möchte den Systemlautsprecher ausschalten. Das geht mit
Das funzt auch hervorragend. Bis auf eine Kleinigkeit:
Der Button "toggelt" den Lautsprecher. D.h. Wenn er angeschaltet ist, dann wird er ausgeschaltet (das ist ja auch in Ordnung). Aber wenn der Lautprecher AUSGESCHALTET ist, dann wird er jetzt wieder ANGESCHALTET ! (Das möchte ich nicht haben).
Gibt es eine Möglichkeit, das "Toggeln" zu unterbinden ? Alternativ würde ich halt eine Möglichkeit suchen, um den Status des Lautsprechers abzufragen, um mir das SendMessage nötigenfalls zu verkneifen.
Ich hoffe, ich habe mein Problem verständlich machen können.
LG
Peter
Ich möchte den Systemlautsprecher ausschalten. Das geht mit
SendMessage
recht einfach. So habe ich das programmiert: VB.NET-Quellcode
- <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)>
- Private Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal Msg As UInteger,
- ByVal wParam As IntPtr, ByVal lParam As Integer) As IntPtr
- End Function
- Const WM_APPCOMMAND As UInteger = &H319
- Const APPCOMMAND_VOLUME_MUTE As UInteger = &H8
- Private Sub cmdLoadspeakerOff_Click(sender As Object, e As EventArgs) Handles cmdLoadspeakerOff.Click
- SendMessage(Me.Handle, WM_APPCOMMAND, New IntPtr(&H200EB0), APPCOMMAND_VOLUME_MUTE * &H10000)
- End Sub
Das funzt auch hervorragend. Bis auf eine Kleinigkeit:
Der Button "toggelt" den Lautsprecher. D.h. Wenn er angeschaltet ist, dann wird er ausgeschaltet (das ist ja auch in Ordnung). Aber wenn der Lautprecher AUSGESCHALTET ist, dann wird er jetzt wieder ANGESCHALTET ! (Das möchte ich nicht haben).
Gibt es eine Möglichkeit, das "Toggeln" zu unterbinden ? Alternativ würde ich halt eine Möglichkeit suchen, um den Status des Lautsprechers abzufragen, um mir das SendMessage nötigenfalls zu verkneifen.
Ich hoffe, ich habe mein Problem verständlich machen können.
LG
Peter