C#模拟VolumeMute按
我得到以下代码来模拟volumemute按键:
[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按键)
谢谢。
没有找到相关结果
已邀请:
1 个回复
渴翅吮斡撤
这段代码需要在表单的实例方法中,注意它是如何使用DefWndProc()的。如果你想把它放在别处,你需要回退到SendMessage()。实际的窗口句柄无关紧要,只要它是一个有效的顶层句柄。