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