lok*_*oki 2 windows delphi winapi setwindowshookex
在我的应用程序中,我通过捕获所有事件SetWindowsHookEx,当用户单击按钮时,我会检索一个 hwnd,我猜它是 Tbutton 的句柄。
typedef struct tagMSG {
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
DWORD time;
POINT pt;
DWORD lPrivate;
} MSG, *P
Run Code Online (Sandbox Code Playgroud)
现在我如何从这个 hwnd 检索按钮名称(或者更好的是代表按钮的 Delphi 对象?)。
也许我也可以通过POINT pt;?
您可以使用FindControl,如果窗口是由属于调用该函数的 VCL 的同一实例的控件创建的,它将检索对象实例。由于Name是在 中发布的TComponent,因此无论实际的类类型如何,您都可以访问该属性。
每个窗口化 VCL 控件都有其对象实例地址存储在 API 窗口的属性列表中,以及包含模块地址、进程 id、线程 id 信息的属性。这使得 VCL 可以从它创建的窗口回溯控件。
| 归档时间: |
|
| 查看次数: |
533 次 |
| 最近记录: |