在平时日常工作中,我们切换输入法的方式一般会通过键盘组合按键来进行切换的,那么作为程序员,当然可以通过发送键盘消息事件来实现输入法的切换。同样的道理,我们也可以通过发送键盘事件实现麦克风音量或者系统音量大小的调节。
需要包含的头文件
#include <windows.h>
切换输入法
void Widget::on_button_switch_input_clicked()
{
keybd_event (0xA2, 0, 0, 0);
keybd_event (0xA0, 0, 0, 0);
keybd_event (0xA0, 0, KEYEVENTF_KEYUP, 0);
keybd_event (0xA2, 0, KEYEVENTF_KEYUP, 0);
}
调节系统音量大小
void Widget::on_button_volume_increase_clicked()
{
#if 0
keybd_event (0xAF, 0, 0, 0);
keybd_event (0xAF, 0, KEYEVENTF_KEYUP, 0);
#else
::SendMessage((HWND)(this->winId()), WM_APPCOMMAND, 0, MAKELPARAM(0,FAPPCOMMAND_KEY<<12|APPCOMMAND_VOLUME_UP));
#endif
}
void Widget::on_button_volume_reduce_clicked()
{
#if 0
keybd_event (0xAE, 0, 0, 0);
keybd_event (0xAE, 0, KEYEVENTF_KEYUP, 0);
#else
::SendMessage((HWND)(this->winId()), WM_APPCOMMAND, 0, MAKELPARAM(0,FAPPCOMMAND_KEY<<12|APPCOMMAND_VOLUME_DOWN));
#endif
}
void Widget::on_button_volume_mute_clicked()
{
#if 0
keybd_event (0xAD, 0, 0, 0);
keybd_event (0xAD, 0, KEYEVENTF_KEYUP, 0);
#else
::SendMessage((HWND)(this->winId()), WM_APPCOMMAND, 0, MAKELPARAM(0,FAPPCOMMAND_KEY<<12|APPCOMMAND_VOLUME_MUTE));
#endif
}
关于 WM_APPCOMMAND
通知窗口用户生成应用程序命令事件,例如,使用鼠标单击应用程序命令按钮或在键盘上键入应用程序命令键。
详细描述可以参考:https://learn.microsoft.com/zh-cn/windows/win32/inputdev/wm-appcommand
同理,也可以通过发送命令来 减小麦克风音量、将麦克风静音、增加麦克风音量。
减小麦克风音量:APPCOMMAND_MICROPHONE_VOLUME_DOWN
将麦克风静音:APPCOMMAND_MICROPHONE_VOLUME_MUTE
增加麦克风音量: APPCOMMAND_MICROPHONE_VOLUME_UP
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)