是否存在任何Windows api函数来检索Windows句柄的WNDPROC?
提前谢谢。
发布于 2010-12-03 08:07:43
使用GetWindowLongPtr(hwnd,GWLP_WNDPROC)。
注意:对于32位系统,GetWindowLongPtr实际上是#defined to GetWindowLong,因此为了在Delphi中导入它,您可能需要改用GetWindowLong。同样,Delphi本身对于GetWindowLongPtrA或GetWindowLongPtrW (对于非unicode和unicode目标)是#defined,因此如果导入系统不是真正智能的,那么您可能再次需要手动为GetWindowLongPtrW选择正确的名称。
请记住,如果要调用获得的窗口proc,则应使用CallWindowProc进行调用。感谢@In silico的提示。
请注意,返回的值并不总是指向窗口过程的实际指针。有时它只是一种被CallWindowProc识别和正确处理的句柄。例如,如果您的应用程序是ANSI,那么您将无法获得真正的函数指针,但是该窗口属于Unicode组件(反之亦然)。有关更多详细信息,请参阅this posting in 。
https://stackoverflow.com/questions/4341303
复制相似问题