头文件
HookThread.h
#pragma once
#include <QObject>
class HookThread : public QObject
{
Q_OBJECT
public:
HookThread(QObject *parent = Q_NULLPTR);
~HookThread();
Q_SLOT void start();
private:
//!< 设置组合键禁用
void setHotKeyGroupDisable(bool bDisable);
//!< 键盘钩子句柄 用于结束时销毁
HHOOK m_hKeyboardHook = nullptr;
};
源文件
HookThread.cpp
#include "stdafx.h"
#include "HookThread.h"
HookThread::HookThread(QObject *parent)
: QObject(parent)
{
}
HookThread::~HookThread()
{
setHotKeyGroupDisable(false);
}
LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode == HC_ACTION) {
PKBDLLHOOKSTRUCT p = (PKBDLLHOOKSTRUCT