我正在尝试创建一个全局键盘钩子,用于读取我正在创建的热键程序的击键,我遇到了一些问题.首先是每当我激活我的钩子时,键盘变得迟钝.屏幕上出现的每个角色之间几乎有一整秒的延迟.第二个问题是我在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)