取得窗口句柄和标题,跨类调用并实时显示在编辑框中(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;

 

下篇写取得进程基址及进程空间有关数据地址。

posted @ 2014-09-03 12:20  O-Y  阅读(846)  评论(0编辑  收藏  举报