当前位置: 首页 > wzjs >正文

wordpress persona宁波seo整体优化公司

wordpress persona,宁波seo整体优化公司,律师做推广的网站,wordpress小工具音乐使用qt 定义全局钩子 捕获系统的键盘事件 即使焦点不在自定义软件上,也能够触发 以下待接口代码: class Hook :public QObject { Q_OBJECT public: Hook(); enum Type { CTRL_E, CTRL_W, SPACE, Enter, C };//自定义枚举,定义“修改”、“撤回…

使用qt 定义全局钩子 捕获系统的键盘事件 即使焦点不在自定义软件上,也能够触发
以下待接口代码:
class Hook :public QObject
{
Q_OBJECT
public:
Hook();
enum Type {
CTRL_E,
CTRL_W,
SPACE,
Enter,
C
};//自定义枚举,定义“修改”、“撤回”两种状态
void installHook();//安装钩子函数
void unInstallHook();//删除钩子
void sendSignal(Type type);
Q_ENUM(Type)//注册枚举类型进元对象系统,否则无法将枚举类型作为信号参数传递
signals:
void sendKeyType(Type);//发送按键监控信号
};

static HHOOK keyHook = nullptr;//钩子对象
static Hook* hook;//Qt界面中调用Hook类的对象
LRESULT CALLBACK keyProc(int nCode, WPARAM wParam, LPARAM lParam) {//钩子消息函数,系统消息队列信息会返回到该函数中
KBDLLHOOKSTRUCT* pkbhs = (KBDLLHOOKSTRUCT*)lParam;//lParam用于判断按键类型
if (wParam == WM_KEYDOWN) {//wParam用于判断事件类型,当前为按键按下事件
//使用位掩码0x8000检查按键按下状态,确保准确检测瞬时按键
if (pkbhs->vkCode == Qt::Key_E &&
(GetAsyncKeyState(VK_CONTROL) & 0x8000) &&
(GetAsyncKeyState(VK_MENU) & 0x8000)) // Ctrl+Alt+E
{
qDebug() << (“按下按钮 ctrl+alt+e\n”);
}
else if (pkbhs->vkCode == Qt::Key_E &&
(GetAsyncKeyState(VK_CONTROL) & 0x8000)) // 仅Ctrl+E
{
hook->sendSignal(Hook::CTRL_E);
LOG_FUN_INFO(“##############Input Ctrl+E##############”);
}
else if (pkbhs->vkCode == Qt::Key_W &&
(GetAsyncKeyState(VK_CONTROL) & 0x8000))
{//按下Ctrl+W
hook->sendSignal(Hook::CTRL_W);
LOG_FUN_INFO(“##############Input Ctrl+W##############”);
}
else if (pkbhs->vkCode == Qt::Key_Space)
{//按下space
hook->sendSignal(Hook::SPACE);
}
else if (pkbhs->vkCode == 13) //Enter Key
{//按下space
hook->sendSignal(Hook::Enter);
}
else if (pkbhs->vkCode == Qt::Key_C)
{//按下space
hook->sendSignal(Hook::C);
}
}
LOG_FUN_INFO(“##############Input %d”, pkbhs->vkCode);
return CallNextHookEx(keyHook, nCode, wParam, lParam);//继续原有的事件队列
}
Hook::Hook()
{
}
void Hook::installHook() {//安装钩子函数
keyHook = SetWindowsHookEx(WH_KEYBOARD_LL, keyProc, nullptr, 0);
hook = this;
}
void Hook::unInstallHook() {//删除钩子函数
UnhookWindowsHookEx(keyHook);
keyHook = nullptr;
}
void Hook::sendSignal(Type type) {//发送信号函数
emit sendKeyType(type);
}

http://www.dtcms.com/wzjs/62365.html

相关文章:

  • 怎么找人做淘宝网站一个万能的营销方案
  • 福州网站建设熊掌号网络推广如何收费
  • 公司网站搜索引擎排名快速优化网站排名的方法
  • 二级域名做非法网站百度网首页
  • 小程序服务器可以做网站吗班级优化大师app下载学生版
  • onlyoffice wordpress安卓aso优化排名
  • 河北邯郸做网站的公司哪家好百度推广关键词优化
  • web开发是做网站吗网络广告营销的典型案例
  • 余姚建设公司网站aso100官网
  • 做网站难度大吗宁波seo自然优化技术
  • 国外一直小猫做图标的网站网络营销主要内容
  • 在网站上做教育直播平台多少钱短视频营销成功的案例
  • 嘉兴 做网站 推广关键词优化公司哪家效果好
  • 网站首页快照网站推广工作
  • 网站要怎么做的吗谷歌浏览器搜索入口
  • 手机网站建站费用竞价推广是什么意思
  • 如何做好网站建设内容的策划唯尚广告联盟app下载
  • 西安网站建设设计的好公司快速排名推荐
  • 大城b2c网站建设价格什么是网站推广?
  • 极速网站建设哪家好中国十大营销策划机构
  • 在越南做网站需要什么宁波seo外包推广平台
  • 做app模板网站有哪些内容现在有什么技能培训班
  • 网络推广最好的网站有哪些脚上起小水泡还很痒是什么原因
  • 有什么做兼职的网站比较好排名优化百度
  • 绵阳做网站公司seo专业培训费用
  • wordpress 分类目录idseo和sem的区别与联系
  • pc 手机网站 微站推广优化关键词
  • 新手如何做网站推广免费seo诊断
  • h5企业网站开发微信公众号软文怎么写
  • wordpress企业免费主题下载搜索引擎优化是什么工作