小编Phi*_*son的帖子

创建全局键盘钩

我正在尝试创建一个全局键盘钩子,用于读取我正在创建的热键程序的击键,我遇到了一些问题.首先是每当我激活我的钩子时,键盘变得迟钝.屏幕上出现的每个角色之间几乎有一整秒的延迟.第二个问题是我在DLL回调函数中编写的任何代码都不会被执行.

这是我的代码:

DLL cpp文件

#include<Windows.h>
#include "keyDLL.h"

using namespace std;

LRESULT CALLBACK HookProcedure(int code, WPARAM wParam, LPARAM lParam)
{
    return CallNextHookEx(0, code, wParam, lParam);
}
Run Code Online (Sandbox Code Playgroud)

DLL头文件

#include "windows.h"

extern "C" __declspec(dllexport) LRESULT CALLBACK HookProcedure(int code, WPARAM wParam, LPARAM lParam);
Run Code Online (Sandbox Code Playgroud)

钩CPP文件

#include<Windows.h>
#include<iostream>
using namespace std;

HHOOK WINAPI SetWindowsHookEx(_In_  int idHook, _In_  HOOKPROC lpfn, _In_  HINSTANCE hMod, _In_  DWORD dwThreadId
static HINSTANCE dllHandle;
HOOKPROC address;
static HHOOK keyboard_hook;

int main()
{
    dllHandle = LoadLibrary(TEXT("keyDLL.dll"));
    address = (HOOKPROC)GetProcAddress(dllHandle, "HookProcedure");
    cout << address …
Run Code Online (Sandbox Code Playgroud)

c++ dll winapi

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×1

dll ×1

winapi ×1