1.添加Windows SDK头文件#include “windows.h”
2.头文件重载函数keyPressEvent和keyReleaseEvent
3.添加 WINSDK\lib\User32.lib和WINSDK\include引用
代码块
代码块以MainWindow状态栏显示监测到大写小写,例如:
void
MainWindow::keyPressEvent(QKeyEvent* event)
{
if (event->key() == Qt::Key_CapsLock)
{
if (LOBYTE(GetKeyState(VK_CAPITAL)))
{
_capsStatus->setText(QStringLiteral("大写"));
}
else
{
_capsStatus->setText(QStringLiteral("小写"));
}
}
QMainWindow::keyPressEvent(event);
}
void
MainWindow::keyReleaseEvent(QKeyEvent* event)
{
if (event->key() == Qt::Key_CapsLock)
{
if (LOBYTE(GetKeyState(VK_CAPITAL)))
{
_capsStatus->setText(QStringLiteral("大写"));
}
else
{
_capsStatus->setText(QStringLiteral("小写"));
}
}
QMainWindow::keyReleaseEvent(event);
}
注意:
1.GetKeyState是WinSDK下的API函数。
2._capsStatus是状态栏标识当前caps lock状态静态文本控件
实现效果:


博客介绍了使用Windows SDK实现监测大小写状态的代码。包括添加Windows SDK头文件、重载函数、添加库和引用等步骤,还提到使用WinSDK下的GetKeyState函数,通过MainWindow状态栏显示监测结果,_capsStatus为状态栏标识当前caps lock状态的静态文本控件。
4154

被折叠的 条评论
为什么被折叠?



