C++ 获取windows句柄的WNDPROC

C++ 获取windows句柄的WNDPROC,c++,windows,delphi,winapi,C++,Windows,Delphi,Winapi,是否存在任何Windows api函数来检索Windows句柄的WNDPROC 提前感谢。使用(hwnd、GWLP\U WNDPROC) 注意:对于32位系统,GetWindowLongPtr实际上是定义GetWindowLong的#d,因此为了在Delphi中导入它,您可能需要使用GetWindowLong。同样,GetWindowLongPtr本身是#定义为GetWindowLongPtrA或GetWindowLongPtrW(对于非unicode和unicode目标),因此如果导入系统不是

是否存在任何Windows api函数来检索Windows句柄的
WNDPROC

提前感谢。

使用(hwnd、GWLP\U WNDPROC)

注意:对于32位系统,GetWindowLongPtr实际上是定义GetWindowLong的
#d,因此为了在Delphi中导入它,您可能需要使用GetWindowLong。同样,GetWindowLongPtr本身是
#定义为GetWindowLongPtrA或GetWindowLongPtrW(对于非unicode和unicode目标),因此如果导入系统不是真正智能的,您可能需要为Delphi手动选择正确的名称


请记住,如果要调用获取的windowproc,应该使用。感谢@In silico的提示



请注意,返回的值并不总是指向窗口过程的实际指针。有时它只是一种句柄,由
CallWindowProc
识别并正确处理。例如,如果应用程序是ANSI,则不会获得实际函数指针,但窗口属于Unicode组件(反之亦然)。有关更多详细信息,请参阅。

@Salvador:如果要调用返回的
WNDPROC
,则必须使用。最新版本的Delphi定义了GetWindowLongPtr,并处理UNICODE/ANSI映射automatically@David:很高兴知道,谢谢!希望OP最近有一个Delphi版本。如果没有,他也会被警告尝试
GetWindowLong
(或者最好使用一些条件编译)。