请问:从窗口A向窗口B发送消息时,如何在A中获取B的句柄呢? 请问:从窗口A向窗口B发送消息时,如何在A中获取B的句柄呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 A和B是什么关系?如果在同一个进程里,可以通过app类来中转如果不在同一个进程里,FindWindow、EnumWindows A是动态创建的Check控件,它的父类是CButton;B是Dialog窗口,它的父类是CDialog;B在窗口A上面放;我用 HWND hwnd = ::FindWindow(_T("B"), NULL);获取句柄时,得到的hwnd为空了,不知道是什么原因? B放在A上面是什么意思?在A窗口创建子窗口B吗?如果这样直接可以取得B.m_hWnd. 我现在是得不到B的句柄啊在A中用HWND hwnd = ::FindWindow(_T("B"), NULL);获取B句柄时,得到的hwnd为空了 你的findwindow用错了吧?HWND FindWindow( LPCTSTR lpClassName, // class name LPCTSTR lpWindowName // window name);应该是HWND hwnd = ::FindWindow(NULL,_T("B"); FindWindow(_T("B"), NULL);===================用错了,前一个参数是类名,后一个才是窗口标题,你的程序中B和A是在同一个程序中的,完全可以保存B的句柄然后拿来给A用. 在A类中定义B的实例,用实例.Create创建控件,用实例.SendMessage发消息;或者在A类中定义B的指针变量,在构造A的时候用new构造B,在A析构的时候delete指针,用指针->Create创建控件,用指针->SendMessage发消息。 你调用全局的::FindWindow是用来查找顶层桌面窗口的。既然B是A的子控件,直接在B中GetParent()->SendMessage()就可以了。另外,FindWindow里面的类名也不是C++的class类名,而是注册的窗口类。 直接在B中GetParent()->SendMessage()就可以了 网络传输中如何保证数据的同步? 解迷大学 散分另求磁卡消磁的方法 100分求问:vc下如何截屏并保存成图片文件(在线等) 请教自动关机的问题 请问C++ 和 VC++有什么不同??? 问一个关于消息先后的问题 如何解决拖动对话框时上面的静态控件闪烁的问题 关于MUTEX的使用方法,请各位老大多多指教,我急死了 com创建失败 关于ICON问题 推荐开源的vc打包程序?
如果在同一个进程里,可以通过app类来中转
如果不在同一个进程里,FindWindow、EnumWindows
B在窗口A上面放;
我用 HWND hwnd = ::FindWindow(_T("B"), NULL);获取句柄时,得到的hwnd为空了,不知道是什么原因?
在A窗口创建子窗口B吗?
如果这样直接可以取得B.m_hWnd.
在A中用
HWND hwnd = ::FindWindow(_T("B"), NULL);获取B句柄时,得到的hwnd为空了
HWND FindWindow(
LPCTSTR lpClassName, // class name
LPCTSTR lpWindowName // window name
);
应该是HWND hwnd = ::FindWindow(NULL,_T("B");
===================
用错了,前一个参数是类名,后一个才是窗口标题,你的程序中B和A是在同一个程序中的,完全可以保存B的句柄然后拿来给A用.
或者在A类中定义B的指针变量,在构造A的时候用new构造B,在A析构的时候delete指针,用指针->Create创建控件,用指针->SendMessage发消息。
另外,FindWindow里面的类名也不是C++的class类名,而是注册的窗口类。