gpt4 book ai didi

c# - 如何从全局钩子(Hook)中排除线程

转载 作者:太空宇宙 更新时间:2023-11-03 16:55:42 26 4
gpt4 key购买 nike

我们正在全局 Hook TextOut()ExtTextOut()DrawText() 方法。

hhook = SetWindowsHookEx(WH_CBT, function_address, module_handle, 0);

但是我们想排除我们的应用程序(我们正在使用它来安装/卸载 Hook )被 Hook 。如果 SetWindowsHookEx() 的最后一个参数为 0(零),它将 Hook 所有现有线程。如何在此处检查当前线程是否为“OurApplication.exe”,然后将其从 Hook 中排除或立即将其排除解开它。请提供帮助。

最佳答案

我认为这是不可能的。您要么连接到所有内容,要么连接到特定线程。你为什么不在 function_address 的任何代码中过滤掉你的应用程序?大多数(如果不是全部)CBT Hook 回调在 wParam 或 lParam 参数中提供窗口句柄。然后,您可以从该句柄获取进程 ID,并将其与您的应用程序 pid 进行比较。

关于c# - 如何从全局钩子(Hook)中排除线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2131036/

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