Mam następujący kod do symulacji volumemute przyciśnięcie:C# Symulacja VolumeMute naciśnij
[DllImport("coredll.dll", SetLastError = true)]
static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);
byte VK_VOLUME_MUTE = 0xAD;
const int KEYEVENTF_KEYUP = 0x2;
const int KEYEVENTF_KEYDOWN = 0x0;
private void button1_Click(object sender, EventArgs e)
{
keybd_event(VK_VOLUME_MUTE, 0, KEYEVENTF_KEYDOWN, 0);
keybd_event(VK_VOLUME_MUTE, 0, KEYEVENTF_KEYUP, 0);
}
Kod ten nie robi praca. Wiem, że istnieje inny sposób wyciszania/wyłączania dźwięku przez SendMessageW, ale nie chcę używać SendMessageW, ponieważ używam KeyState do wykrywania, czy muszę wyciszyć dźwięk lub wyłączyć dźwięk (jeśli użytkownik chce wyłączyć dźwięk i jego już nie jest wyciszony wtedy nie muszę przełączać - to dlatego potrzebuję symulować naciśnięcie klawisza VolumeMute)
Dzięki.
Kiedy mówisz, że to nie działa, czy otrzymujesz wyjątek od swojej p-invoke dobroci? – dexter
Brak błędu. po prostu nie wycisza dźwięku .. – Ron
Czy to okno jest mobilne? – fardjad