gpt4 book ai didi

c++ - 在 DLL 中调用 LowLevelKeyboardProcedure

转载 作者:太空宇宙 更新时间:2023-11-04 14:26:33 25 4
gpt4 key购买 nike

我已经设法让输入 Hook 正常工作,但现在我有点迷失了将它们放入库中。

我在 IDE 中定义了一个带有 INPUTHOOK_EXPORTS 的简单 header ,因此 dll 导出 (Visual Studio)。

#pragma once

#ifdef INPUTHOOK_EXPORTS
#define INPUTHOOK_API __declspec(dllexport)
#else
#define INPUTHOOK_API __declspec(dllimport)
#endif

INPUTHOOK_API void InstallInputHook();
INPUTHOOK_API void RemoveInputHook();

当然还有:

The cpp file

问题是,当我尝试编译这个库时,我得到了两个未解析的外部变量,一个分别用于 SetWindowsHookExUnhookWindowsHookEx。为什么这两个功能不可用,而其他并且没有任何问题?据我所知,我确实拥有包含权。

谢谢

最佳答案

SetWindowsHookEx 是一个宏,对于 ascii 应转换为 SetWindowsHookExA' 或对于 wchar 应转换为 SetWindowsHookExW。与UnhookWindowsHookEx` 类似。
报告的错误应该特定于缺少哪个函数 - A 或 W - 这似乎表明由于某种原因宏没有到位。

您似乎在 cpp 中缺少 winuser.h,但是这个或等效文件可能在预编译的 stdafx.h header 中。

您需要在构建(链接)库时包含 user32.lib(通常在默认包含的库中)。

关于c++ - 在 DLL 中调用 LowLevelKeyboardProcedure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3510151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com