Windows 会自动删除钩子吗?

dat*_*uoc 10 c++ windows hook winapi system

Win32 API允许在系统进程中创建钩子,例如鼠标钩子(WH_MOUSE_LL),钩子是用SetWindowsHookExA/W函数创建的。

场景是,一个程序通过本地函数安装了一个钩子到Windows系统中;程序最后确实有一个钩子卸载,但是,有一种情况是程序崩溃并且钩子卸载函数没有被调用。

Windows 知道死钩子吗?并自动删除它们?

钩子确实按顺序传递消息:hook1 --> callnexthook --> hook2 --> callnexthook...

当hook2死掉时,它会破坏系统吗?