[英]How from an Handle can I retrieve the component name?
在我的應用程序中,我通過SetWindowsHookEx
捕獲所有事件,當用戶單擊按鈕時,我會檢索一個 hwnd,我猜它是 Tbutton 的句柄。
typedef struct tagMSG {
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
DWORD time;
POINT pt;
DWORD lPrivate;
} MSG, *P
現在我如何從這個 hwnd 檢索按鈕名稱(或者更好的是代表按鈕的 Delphi 對象?)。
也許我也可以通過POINT pt;
檢索組件POINT pt;
?
您可以使用FindControl
,如果窗口是由屬於調用該函數的 VCL 的同一實例的控件創建的,它將檢索對象實例。 由於Name
是在TComponent
發布的,因此無論實際的類類型如何,您都可以訪問該屬性。
每個窗口化 VCL 控件都有其對象實例地址存儲在 API 窗口的屬性列表中,以及包含模塊地址、進程 id、線程 id 信息的屬性。 這使得 VCL 可以從它創建的窗口回溯控件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.