gpt4 book ai didi

c++ - 使用 C++ 的全局键盘钩子(Hook)

转载 作者:可可西里 更新时间:2023-11-01 13:59:47 25 4
gpt4 key购买 nike

我已经看过很多关于 Hook 的教程和文章,但我不太明白。主要是因为每个示例使用不同的解决方案。

我知道我将不得不实现一些让 Hook 保持事件状态的东西。通常是某种 while 循环。 Q1:如果这个循环在某个带有回调的类中,它会阻止线程执行它们吗?

我知道这需要一段时间,但我非常感谢一些解释清楚的全局键盘钩子(Hook)示例。或者简单地将我链接到一些使用二进制文件的工作示例。 (相信我,过去几个小时我一直在尝试用谷歌搜索它)。

谢谢

最佳答案

I know I will have to implement something that will keep the hook alive

不,这不是问题。全局 Hook 需要带有回调的 DLL。该 DLL 被注入(inject)所有正在运行的进程中。它将在进程中保持加载状态,直到您调用 UnHookWindowsHookEx() 或进程终止,以先到者为准。

请注意,您还可以使用 WH_KEYBOARD_LL 挂接键盘。这不是全局 Hook ,Windows 会将上下文切换到您的程序并进行回调。它更易于使用,因为您不需要带有全局 Hook 所需的注入(inject) DLL 的 IPC 机制。低级 Hook 保持事件状态,直到您取消 Hook 、拥有消息队列的线程终止或您的进程终止,以先到者为准。

关于c++ - 使用 C++ 的全局键盘钩子(Hook),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3492037/

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