lautstärke verändern; >=windows7
-
Hallo,
ich suche ein tutorial über die winapi / lautstärke-einstellungen.
ziel ist es, ein programm zu haben, was die lautstärke verändern kann (lauter/leiser/ein - nur global; also nicht prozessspezifisch).bisher hatte ich das durch eine key-send-funktion gelöst.
das geht leider nicht mehr, weil das programm aus einem php-script heraus aufgerufen wird -> benutzer: system -> key-sends funktionieren nicht mehr.was ich bisher zur audio device api gefunden habe, ist mir aber zu verworren.
danke im voraus
PS:
falls es doch mit SendInput gehen sollte und ich nur was falsch gemacht habe:#include <Windows.h> enum key_codes { MY_VK_VOLUME_MUTE = VK_VOLUME_MUTE }; void key_down(key_codes key) { KEYBDINPUT keyboard_input = {0}; keyboard_input.wVk = WORD(key); keyboard_input.wScan = 0; keyboard_input.dwFlags = 0x0; keyboard_input.time = 0; keyboard_input.dwExtraInfo = 0; INPUT Input; Input.type = INPUT_KEYBOARD; Input.ki = keyboard_input; SendInput(1, &Input, sizeof(Input)); } void key_up(key_codes key) { KEYBDINPUT keyboard_input = {0}; keyboard_input.wVk = WORD(key); keyboard_input.dwFlags = KEYEVENTF_KEYUP; keyboard_input.time = 0; keyboard_input.dwExtraInfo = 0; INPUT Input; Input.type = INPUT_KEYBOARD; Input.ki = keyboard_input; SendInput(1, &Input, sizeof(Input)); } void press_key(key_codes key) { key_down(key); key_up(key); } int main() { press_key(MY_VK_VOLUME_MUTE); }
-
Entweder über SendMessage mit WM_APPCOMAND oder (besser) über IAudioEndpointVolume, da du bei letzterem auch den Status von Mute checken kannst (Beispiele findest du dort auch
)
-
hatte ich zwar schon gelesen, aber da ich jetzt wusste, dass dort irgendwo nen bsp. sein muss, hab ichs auch endlich mal gefunden:
http://msdn.microsoft.com/en-us/library/bb331828.aspx
war zwar etwas kompliziert, das ganze auseinander zu friemeln... aber das ist ja normal^^danke : >