为什么会有CallWindowProc这样的函数?我们提供了窗口过程的地址,所以调用函数而不是调用另一个调用函数的函数是不是更好?
答案 0 :(得分:8)
因为GetWindowLong
(或GetWindowLongPtr
)可能会返回一个不是函数指针的值,CallWindowProc
可以识别并转换为正确的调用。 [1]
答案 1 :(得分:1)
CallWindowProc函数处理Unicode到ANSI的转换。如果直接调用窗口过程,则无法利用此转换。
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633571(v=vs.85).aspx