如何讓窗口不被EnumWindows枚舉出來

如何讓窗口不被EnumWindows枚舉出來?

可以通過全局掛勾處理嗎?

http://www.cnblogs.com/weiqubo/archive/2011/03/22/1991317.html

看错了。
EnumWindows内部使用ntdll的NtUserBuildHwndList枚举,所以对NtUserBuildHwndList替换可以防止你的窗口被枚举。

必須寫驅動嗎? 可以像SPY++那種我可以掛在R3層 把WindowFromPoint 返回NULL就可以禁止了, 但是好像EnumWindows會一直卡死程序.

R3下,注入hook掉这个API或hook:Zw/NtUserBuildHwndList,R0下,hook楼上说的那个函数,严格说hook:ZwUserBuildHwndList。不过提醒楼主:非文档化的native api和内核函数微软可能在未来的Windows中随时改变,因此尽量不要使用他们或hook他们图片