FindWindow()的返回值究竟是什么

我在MFC里面,它提示我说要把返回值赋值给CWnd类的对象我在Win32控制台应用程序里面用这一句,它又要我把返回值赋值给HWND类型变量。求解,这样移植起来太麻烦,如果... 我在MFC里面,它提示我说要把返回值赋值给CWnd类的对象
我在Win 32控制台应用程序里面用这一句,它又要我把返回值赋值给HWND类型变量。求解,这样移植起来太麻烦,如果是这样的话,怎样在Win32控制台应用程序里面获取CWND类型对象呢
展开
 我来答
bhtzu
2013-06-07 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4248万
展开全部

FindWindow是典型的窗口类封装API函数,你的困惑在于两种环境下,其实使用的是不同的函数。

win32 SDK编程环境下,::FindWindow是WINAPI函数,返值是句柄;

MFC下,FindWindow使用的是窗口类CWnd::FindWindow函数,返值是窗口类指针。

从MFC移植到SDK,麻烦是不可避免的,只能逐一修改,因为没法用到很多MFC封装的类。

但反过来移植,就容易多了,因为MFC兼容全部API函数。

参考:CWnd类FindWindow实现代码

_AFXWIN_INLINE CWnd* PASCAL CWnd::FindWindow(LPCTSTR lpszClassName, LPCTSTR lpszWindowName)
    { return CWnd::FromHandle(::FindWindow(lpszClassName, lpszWindowName)); }

 如果你能使用CWnd类,那么FromHandle就可以获取窗口类指针。

ZESTRON
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸... 点击进入详情页
本回答由ZESTRON提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式