Sre*_*yan 4 windows winapi visual-studio visual-c++
我是Windows API编程的新手,我想用外行的术语知道什么是子类和API挂钩.我正在做一个使用所有者绘制控件的项目,我有两个术语不断出现.现在我已经在CodeProject.com上看到了很多关于这些主题的详细教程,但问题是所有这些都使用MFC,我在纯Win32编码.如果有人知道上述主题的任何好的教程,那么请发布链接.还试着避免链接到msdn,因为新手我无法弄清楚那里写的是什么.
Han*_*ant 11
Layman术语:通过替换窗口的窗口过程来完成子分类.其中重定向Windows所做的调用以将消息传递到您的函数的窗口,以便您首先看到这些消息.这使您可以更改窗口的行为,为其提供原始窗口没有的新功能.这是一种非常常见的技术,并且直接由操作系统支持,SDK文章就在这里.
API挂钩类似,但适用于winapi功能.这样您就可以更改在您未编写的进程中运行的代码的行为.任意地,您可以挂钩CreateFile()并更改传递的文件名或使其失败.这是很多不常见的做到这一点,也更难获得正确的,因为它不是一个烤入能力像子类的. 微软的Detours是该技术的一个示例实现.
这两种技术都属于高级编程类别,如果你做得不对,你就会陷入非常麻烦的困境.如果您现在无法阅读MSDN文章,请将其保留在架子上,直到您准备好它为止.