一个对话框中怎样获取另一个对话框的句柄

求助:一个对话框中怎样获取另一个对话框的句柄
一个对话框中AA怎样获取另一个对话框BB的句柄,然后sendmessage给BB中的cedit赋值;附:两个对话框没有什么联系,程序是在AA中写的。

------解决方案--------------------
HWND hwnd = FindWindow( "窗口名 ",..);
if(hwnd)
{
((CEdit*)((BB*)CWnd::FromHandle(hwnd))-> GetDlgItem(IDC_EDIT1))-> SendMessage(...)
}
------解决方案--------------------
定义一个全局CWnd指针把这个BB对话框指针保存起来
------解决方案--------------------
你这个BB对话框总得有一些特征吧,用EnumWindows枚举全部窗口来比较这个特征。
------解决方案--------------------
用FindWindow函数
可跟据窗口名或类名查找窗口

static CWnd* PASCAL FindWindow(
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName );

例:FindWindow(_T( "MyNewClass "),NULL));
------解决方案--------------------
定义一个全局变量
CWnd* g_pBB = NULL;

在BB对话框创建时将地址保存在g_pBB中
pBB-> Create(...);
g_pBB = pBB;


发消息
if(g_pBB )
((CDialog*)pBB)-> GetDlgItem(IDC_EDIT1)-> SendMessage(...)
------解决方案--------------------
用公共变量传过来。。呵呵
------解决方案--------------------
theApp.pCWnd = this; //这样写

// 这样写也可以,ID必须是对话框上的控件,得到的指针也是控件类的指针
theApp.pCWnd = GetDlgItem(B的ID);