用于 DeviceIOControl 的 SetWindowsHookEx,要使用啥 hookid?
Posted
技术标签:
【中文标题】用于 DeviceIOControl 的 SetWindowsHookEx,要使用啥 hookid?【英文标题】:SetWindowsHookEx for DeviceIOControl, what hookid to be used?用于 DeviceIOControl 的 SetWindowsHookEx,要使用什么 hookid? 【发布时间】:2012-09-05 09:40:16 【问题描述】:HHOOK WINAPI SetWindowsHookEx(
_In_ int idHook,
_In_ HOOKPROC lpfn,
_In_ HINSTANCE hMod,
_In_ DWORD dwThreadId
);
在 MSDN 列出的可用 idHook 值中,有:
WH_CALLWNDPROC WH_CALLWNDPROCRET WH_CBT WH_DEBUG WH_FOREGROUNDIDLE WH_GETMESSAGE WH_JOURNALPLAYBACK WH_JOURNALRECORD WH_KEYBOARD WH_KEYBOARD_LL WH_MOUSE WH_MOUSE_LL WH_MSGFILTER WH_SHELL WH_SYSMSGFILTER那么,钩子 DeviceIOControl 函数(用于控制台应用程序)应该使用什么 idHook?或者我可以使用其他的钩子方法吗?
【问题讨论】:
【参考方案1】:DeviceIOControl
用于与驱动程序交互,在用户模式下,windows 提供的任何钩子都不允许钩子驱动程序交互,相反,您最好使用 windows DDK/WDK/Windows SDK 编写过滤器(取决于什么 windows您的目标版本)。
【讨论】:
嗯,我从几个人那里听说这是可能的。例如:forum.madshi.net/viewtopic.php?p=14942 @Reddy:那是一种不同类型的挂钩,它不仅具有侵入性,而且不受 windows 官方支持(我会导致 AV 问题等),但如果你想要那种东西,那么链接就是你的答案...以上是关于用于 DeviceIOControl 的 SetWindowsHookEx,要使用啥 hookid?的主要内容,如果未能解决你的问题,请参考以下文章
Winpcap 和 DeviceIoControl - Win7 上的错误代码 1