如何解决用SetWindowsHookEx注入的DLL被意外卸载
我的程序调用{{1}}将DLL注入单个目标进程。我的DLL包含一个SetwindowsHookEx
和一个WH_GETMESSAGE
钩子:
WH_CALLWNDPROC
我从不打hGetMessageProcHook = SetwindowsHookEx(WH_GETMESSAGE,MyGetMsgProc,hMyDLLModule,dwTargetThreadId);
hCallWndProcHook = SetwindowsHookEx(WH_CALLWNDPROC,MyCallWndProc,dwTargetThreadId);
。当目标应用程序接下来发送Windows消息时,在我的程序终止后(无论是否干净),Windows都会自动卸载DLL。两个挂钩都工作良好。
但是在一台运行Windows Server 2016的计算机上, Process Explorer 显示我的DLL有时会在没有警告的情况下被卸载,当然我的钩子不再起作用。我以前从未见过。 Windows Server中有这种保护吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。