Я получил следующий код для имитации нажатия клавиш для отключения звука:
[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);
}
Этот код не работает. Я знаю, что есть другой способ отключить / включить звук с помощью SendMessageW, но я не хочу использовать SendMessageW, потому что я использую KeyState для определения, нужно ли мне отключить звук или включить звук (если пользователь хочет включить звук, а он уже включен тогда мне не нужно переключаться - вот почему мне нужно имитировать нажатие клавиши VolumeMute)
Спасибо.