你的意思就是获取子窗口句柄
1.先要获取主窗口的句柄
获取方法参考:
1.通过进程名称寻找进程 获得进程ID->枚举所有窗口->选出进程ID的主窗口句柄
2.通过窗口名称FindWindow出主窗口句柄
2.::GetDlgItem(这个函数可以获取子窗口的句柄)
例程:
HWND 主窗口句柄=::FindWindow(......);
HWND 子窗口句柄=::GetDlgItem(主窗口句柄,1231);//1231是子窗口在主窗口中的ID
//可以利用GetDlgItem(子窗口句柄,111);这样以此类推,一直到你所要的窗口为止
char 文本[MAX_PATH]={0};
::GetWindowText(子窗口句柄,文本,MAX_PATH);
MessageBox(.........);
Q:怎么获得子窗口在主窗口中的ID?
A:可以通过一些辅助软件获得,比如SPY++、精易助手 ,等等。
传递类的指针即可
要访问别的窗口需要获取到窗口的对象.
如果是父窗口创建的窗口,那么可以在父窗口创建这个子窗口的时候,在构造方法中传入这个要操作的窗口对象,然后通过这个窗口对象对这个窗口进行操作
C窗口没打开你去哪访问他的控件...
父窗口类:CMainDlg;
子窗口:CReadInfo;
父窗口上有控件IDC_IP;
HWND pwnd=GetParent();//企图获得父窗口句柄
HWND pwnnd= ::GetDlgItem(pwnd, IDC_IP);//企图通过父窗口句柄获取IDC_IP控件句柄
::GetWindowText(pwnnd,IpAddr,16);//企图把控件里的IP地址赋值给IpAddr
MessageBox(IpAddr);//企图以弹出的形式弹出我获取到的IP地址