通过AfxGetInstanceHandle()可以获得程序的句柄,但它的类型是Handle,
请问可以获得HWND类型的句柄吗?我知道通过Console程序开发,在建立窗口时,可以获得HWND类型的句柄,但现在我用MFC DialogBox开发,没有办法得到该句柄。
请问可以获得HWND类型的句柄吗?我知道通过Console程序开发,在建立窗口时,可以获得HWND类型的句柄,但现在我用MFC DialogBox开发,没有办法得到该句柄。
解决方案 »
- 如何能把VC的LIB给VB调用啊。
- 我想在两个树控件之间拖动节点,我该怎么实现,高手指点一下,小弟谢谢了。
- 快速解帖: STL问题. 回到函数的 stl::list 怎么写?
- stl的list问题
- 在运行时出现"Debug Assertion Fail!"错误提示框,是什么东西啊,谢谢高手们!
- 局域网即时通信中文件传输怎么实现? 小弟跪求
- 300分求基于MFC的出接口程序—解决立给,绝不食言!
- 请问如何获得当前窗口的大小?如:写字板中可写字的空白处的长和宽!
- 在线给分:有一条直线从(0,0)到(10,13),有一个点(x,y),怎样才能知这个点是否在直线上 ?
- 怎样在改变SDI中文字的颜色?
- 如何在TCP头中填写特定的数据
- 求网络编程的"hello world"级的程序``谢谢``
GetSafeHwnd
///////////////////////////////////////////////
为什么要使用GetSafeHwnd()函数当我们想得到一个窗口对象(CWnd的派生对象)指针的句柄(HWND)时,最安全的方法是使用GetSafeHwnd()函数,通过下面的例子来看其理由:CWnd *pwnd = FindWindow(“ExploreWClass”,NULL); //希望找到资源管理器HWND hwnd = pwnd->m_hwnd; //得到它的HWND这样的代码当开始得到的pwnd为空的时候就会出现一个“General protection error”,并关闭应用程序,因为一般不能对一个NULL指针访问其成员,如果用下面的代码:CWnd *pwnd = FindWindow(“ExploreWClass”,NULL); //希望找到资源管理器HWND hwnd = pwnd->GetSafeHwnd(); //得到它的HWND就不会出现问题,因为尽管当pwnd是NULL时,GetSafeHwnd仍然可以用,只是返回NULL,通过GetSafeHwnd()的实现代码就更清楚了:_AFXWIN_INLINE HWND CWnd::GetSafeHwnd() const{ return this == NULL?NULL:m_hWnd;}