2
A
回答
13
使用GetWindowLongPtr(hwnd,GWLP_WNDPROC)。
注意:GetWindowLongPtr实际上是#define
d GetWindowLong为32位系统,因此为了在Delphi中导入它,您可能需要使用GetWindowLong。同样,GetWindowLongPtr本身是#define
d可以是GetWindowLongPtrA或GetWindowLongPtrW(对于非Unicode和unicode目标),因此如果导入系统不是非常聪明的话,您可能还需要手动为Delphi选择正确的名称。
请记住,如果你要调用所获得的窗口过程,你应该使用CallWindowProc做到这一点。感谢@In silico提示。
请注意,返回的值并非总是指向窗口过程的实际指针。有时它只是一种被CallWindowProc
识别和正确处理的手柄。例如,如果您的应用程序是ANSI,但您的窗口属于Unicode组件(反之亦然),则不会获得真实的函数指针。有关更多详细信息,请参阅this posting in The Old New Thing。
相关问题
- 1. 从Windows句柄中获取对象
- 2. 获取pagefile.sys的句柄
- 3. 获取窗口句柄
- 4. 从MemoryMappedFile获取Win32句柄
- 5. 从DataGridViewTextBoxCell获取句柄IntPtr?
- 6. 获取控制台句柄
- 7. 从句柄中获取ContextMenu?
- 8. 从Windows中的文件句柄获取文件路径
- 9. 需要帮助获取SNMP的句柄
- 10. 获取窗口的所有句柄
- 11. 获取窗口的句柄在C#
- 12. 获取PyGI中的窗口句柄
- 13. 德尔福获取目录的句柄
- 14. 获取主窗口的句柄在WPF
- 15. 获取的窗口句柄在Java中
- 16. 使用c#获取按钮的句柄?
- 17. Winapi ::获取可用的句柄数
- 18. 获取进程表格的句柄c#
- 19. 获取进程主线程的句柄
- 20. 获取C#中窗口的句柄#
- 21. 如何将窗口句柄传递给wndproc?
- 22. 从句柄获取Windows资源管理器路径
- 23. oracle10 windows cx_Oracle无法获取Oracle环境句柄
- 24. 调用sqlite3_close获取静态sqlite3 *句柄
- 25. 获取句柄以动态创建swfloader
- 26. 从GtkWidget获取X11窗口句柄
- 27. 获取文件句柄作为参数
- 28. 获取独占进程句柄
- 29. 获取句柄到任务栏
- 30. 观看服务获取文件句柄
非常感谢。 – Salvador 2010-12-03 00:18:59