1、没有办法把一个MFC某线程交到另一个线程,不能在线程间传递MFC对象指针,包括常用的MFC对象如CWND、CDC、CFONT等。
2、如果两个线程都调用CWND::GETDLGITEM()以取得对话框中的一个控件(如EDIT),则每个线程获得不同的指针,当对此指针的一个索求行为出现时,MFC产生出一些临时性对象,这些对象若被许多线程共享,MFC没有能力预期它们的生命。
3、这个限制是说,你不能放一个指针到结构中,而该结构被一个WORKER线程使用,你不能把一个指向CDIALOG或CVIEW的指针交给另一个线程
4、TLS的使用说明了以AFXBEGINTHREAD()在MFC程序中产生UI线程的重要性,在线程间共享对象,有个替代方案,不要放置MFC对象,放对象的HANDLE,可以利用GETSAFEHANLE获得对象的安全HANDLE,还可以用GETSAFEHWND()。
5、当你把HANDLE给新线程时,线程可以把该HANDLE附着到一个新的MFC对象:使用FROMHANDLE产生一个临时对象,使用ATTACH()产生一个永久对象。
6、MFC同步控制类如LOCK()和UNLOCK()
7、对于MSGWAITFORMULTIPLEOBJECTS()的支持,MFC自己运行消息循环,如何解决呢?
(1)产生另一个线程用来等待,当对象被激发时即送出一个消息给主线程。
(2)改写MFC消息循环,它存在于CWINTHREAD::RUN()和CWINTHREAD::PUMPMESSAGE()中
分享到:
相关推荐
Java调用Win32 API获取窗口句柄是一个跨平台编程中的常见需求,特别是在需要与操作系统进行深度交互的应用中。JNative库是实现这一目标的一种工具,它允许Java代码通过JNI(Java Native Interface)来调用C/C++编写...
### MFC获得各类指针,句柄的方法 #### 概述 MFC(Microsoft Foundation Classes)作为Windows平台上的一个强大的C++类库,为开发者提供了丰富的API来简化GUI应用程序的开发工作。在MFC开发中,获取句柄和指针是...
- MFC对象是C++类的实例,它们通常是对Win32 API中的结构体或概念的封装,如CWnd对应HWND(窗口句柄),CFile对应HANDLE(文件句柄)等。这些C++类内部包含了一个成员变量来保存Windows对象的句柄。 - Windows对象...
《对话框》之《MFC和Win32》主要探讨了MFC框架如何对Win32 API进行封装,以及MFC对象(MFC Object)与Windows对象(Windows Object)之间的关系。理解这种关系对于深入学习MFC编程至关重要。 1. **MFC Object与...
#### 三、MFC中常见的句柄与指针获取方式 1. **在View中获取Doc指针** - `CYouSDIDoc *pDoc = GetDocument();` 在单文档界面中,一个视图只能对应一个文档,通过调用`GetDocument()`函数可以直接获取到当前视图...
控件句柄与对象指针 在Win32 API中,窗口、设备上下文、画笔、字体等资源通常由句柄(HANDLE)表示。而在MFC框架中,这些资源被封装成相应的类,如`CWnd`、`CDialog`、`CDC`等。MFC命名规范建议使用以下格式: - ...
在IT领域,句柄(Handle)是操作系统用来标识和引用对象的一种方式,它是一个无符号整数值,用于操作系统内部管理。在这个"句柄截图-匹配-源码-修正"的项目中,开发者利用句柄技术实现了对后台窗口的截图功能,并且...
### C# 调用 Win32 API 函数——user32.dll 详细说明 #### 概述 在开发基于 Windows 的应用时,有时需要直接调用底层的 Windows API 函数来实现某些功能,比如获取窗口句柄、绘制图形、控制窗口等。这些功能可以...
这是一个关于mfc获得各个类的句柄的文档资源,有需要的朋友下载阅读哦。
本文将对MFC中的句柄和指针进行总结,帮助你理解和掌握在MFC程序中如何获取和使用这些对象。 首先,句柄是Windows操作系统中用来标识资源的一个整数值,比如窗口、控件、设备等。在MFC中,句柄通常用于非成员函数...
### MFC教程——消息映射的实现 #### Windows消息概述 Windows消息机制是Windows应用程序的基础之一,它使得程序能够响应用户的交互操作以及其他系统的事件。在Windows应用程序开发中,特别是使用MFC(Microsoft ...
它在Win32 API(应用程序接口)中扮演着至关重要的角色,因为大部分与窗口交互的操作都需要使用窗口句柄。"Winspy获取Win32窗口句柄"这个主题涉及的是如何通过编程来查找并获取Windows系统中的窗口句柄,以便进行...
MFC(Microsoft Foundation Classes)和Win32 API都提供了创建、管理和控制线程的功能。下面将详细介绍如何使用MFC和Win32 API来创建、暂停以及删除线程,并在VS2017项目中实现线程对UI的操作。 首先,我们来看**...
在MFC(Microsoft Foundation Classes)编程中,指针和句柄是重要的概念,它们用于管理和操作应用程序中的对象和窗口。本文将详细介绍如何在MFC中获取各类指针和句柄,以及常用API函数的使用。 首先,让我们了解...
在深入学习MFC之前,掌握Win32程序基础至关重要,这不仅能够帮助程序员更好地理解MFC框架的设计理念,还能在实际开发中实现更高效的代码编写和调试。以下是从标题、描述、标签以及部分内容中提炼出的关键知识点: #...
《PyWin32在Python 2.7上的应用与安装详解》 PyWin32,一个专门为Python设计的扩展模块集合,提供了与Windows操作系统进行深度交互的能力。它使得Python程序员可以方便地调用Windows API,操作系统服务,如管理文件...
在Windows编程领域,MFC(Microsoft Foundation Classes)是微软提供的一套C++库,用于简化Windows应用程序开发。本文将深入探讨在MFC框架下创建一个简单异形窗口的方法,特别是利用`SetWindowRgn` API函数来实现这...
MATLAB图形对象句柄是MATLAB图形编程的核心概念,它允许用户对图形进行精确控制,包括创建、修改和管理各种图形元素,如图形窗口、坐标轴、线条、填充区域等。在本章习题中,主要涉及以下几个知识点: 1. **图形...
下面我们将深入探讨MFC中句柄与指针之间的转换,以及它们在不同类之间如何交互。 1. **句柄与指针的概念** - 句柄是Windows操作系统用来标识资源的一个整数值,它不是对象本身,而是一个可以用来查找对象的标识符...