首页 > 代码库 > 取得窗口句柄和标题,跨类调用并实时显示在编辑框中(VS2010)
取得窗口句柄和标题,跨类调用并实时显示在编辑框中(VS2010)
接上篇日志。
在WM_LBUTTONUP消息响应函数中写入代码:
POINT pnt;
WCHAR wc_TargtWndTittle[200];
::GetCursorPos(&pnt); HWND h_TargetWnd = ::WindowFromPoint(pnt) ; //取得鼠标指针处窗口句柄; ::GetWindowText(h_TargetWnd,wc_TargtWndTittle,200);
将wc_TargtWndTittle显示在对话框程序的编辑框控件,因这里涉及一个跨类使用数据和函数的问题,在picture control类文件中是不能直接给编辑框赋值并及时显示的。如果将WM_LBUTTONUP消息响应函数的获得的值以全局变量的方式交给编辑框使用,是可以有办法在编辑框中显示的,但不好做实时显示,网上有设立一个OnTimer的方法,觉得没有必要。我的处理是:
1、找到编辑框控件的变量成员所在类的实例。在该主程序初始化函数(InitInstance())中,会有一个命名为CXXXXDlg dlg; 的对话框实例,在给文件前段申明一个主对话框类的指针如:CXXXXDlg *g_p_Dlg;
在这个InitInstance(); 函数中添加代码:g_p_Dlg = &dlg;
2、在picture control类文件中,需要包含主程序的头文件,写入:#inlcude "XXXXDlg.h"。在WM_LBUTTONUP消息响应函数中添加代码:
extern CXXXXDlg *g_pDlg; g_p_Dlg->ce_Tittle.SetWindowText(wc_TargtWndTittle);
ce_Tittle是我关联编辑框控件添加的成员变量,数据类型为CEdit;
下篇写取得进程基址及进程空间有关数据地址。
取得窗口句柄和标题,跨类调用并实时显示在编辑框中(VS2010)