- 博客(23)
- 资源 (55)
- 收藏
- 关注
原创 [进程]进程的状态转换
进程的三态模型按进程在执行过程中的不同情况至少要定义三种状态:运行(running)态:进程占有处理器正在运行的状态。 进程已获得CPU,其程序正在执行。在单处理机系统中,只有一个进程处于执行状态; 在多处理机系统中,则有多个进程处于执行状态。就绪(ready)态:进程具备运行条件,等待系统分配处理器以便运行的状态。 当进程已分配到除CPU以外的所有...
2013-04-28 18:57:58 4289
原创 [MFC]获取线程退出码
实例——获取线程退出码1.添加两个CWinThread子类CMyThread1,CMyThread2;右击添加类-->选择MFC类-->类名:CMyThread1,CMyThread2;基类:CWinThread-->完成// MyThread1.cpp : 实现文件BOOL CMyThread1::InitInstance(){ // TODO: 在此执行任意逐线程初始化 Afx
2013-04-28 18:46:20 2673 1
原创 [排序算法]快速排序的两种写法
实例——MultiTestThread头文件关键代码:// MultiTestThreadDlg.h : 头文件#define WM_MSG WM_USER+1class CMultiTestThreadDlg;typedef struct THREAD_PARAM{ CMultiTestThreadDlg* pDlg; int nIndex; }_THREAD_PARAM;
2013-04-28 18:30:37 1622
原创 [MFC]同步对象——CCriticalSection临界区,CSemaphore信号量
实例——CCriticalSection临界区临界区是保证在某一个时间只有一个线程可以访问数据的方法。使用它的过程中,需要给每个线程提供一个共享的临界区对象,无论哪个线程占有临界区对象,都可以访问受到保护的数据,这时候其他的线程需要等待,直至该线程释放临界区对象为止,临界区被释放后,另外的线程可以强占这个临界区,以便访问共享的数据。临界区对应的一个CCriticalSection对象,
2013-04-28 18:05:18 2141
原创 [MFC]同步对象——CEvent事件,CMutex互斥量
实例——CEvent事件头文件关键代码:// MFCEventDlg.h : 头文件#pragma once#define WM_MSG WM_USER+1typedef struct THREAD_PARAM{ HWND hWnd; int nData; CEvent* pEvent;}_THREAD_PARAM;UINT ThreadFun(LPVOID pParam
2013-04-27 21:12:13 2673
原创 [MFC]多任务线程
实例——多任务线程其头文件关键代码:// MultiTestThreadDlg.h : 头文件#define WM_MSG WM_USER+1class CMultiTestThreadDlg;typedef struct THREAD_PARAM{ CMultiTestThreadDlg* pDlg; int nIndex;}_THREAD_PARAM;UINT Thre
2013-04-27 20:21:08 1586
原创 [Cocos2dx]DrawCall是什么?
对话框和控件对话框是Windows应用程序中一种常用的资源,其主要功能是输出信息和接收用户的输入数据。控件是嵌入在对话框中或其它父窗口中的一个特殊的小窗口,它用于完成不同的输入、输出功能。对话框与控件关系密切,在每个对话框上一般都有一些控件,对话框依靠这些控件与用户进行信息的交互。在MFC中,对话框的功能被封装在CDialog类中,而CDialog类是CWnd类的派生类。作为窗口,
2013-04-22 19:18:05 4097
原创 [MFC]ATL IDispatch调度接口
概述IDispatch接口:完成接口调度的接口,可以不使用头文件完成接口的函数调用IDispatch 接口函数 1> GetIDsOfNames-根据接口函数的名称获取接口函数的ID 2> Invoke-根据接口函数ID,调用接口函数 3>GetTypeInfo-获取指定的类型信息接口 4>GetTypeInfoCount-获取指定类型信息接口的数量
2013-04-19 20:56:05 2433
原创 [MFC]动态模板库ATL的概述
概述一 概要ATL库(Active Template Library)动态模板库:封装了COM组件的各种细节和COM SDK,可以方便用户进行组件开发常用的ATL类:CComObjectRootBase:定义了一个引用计数和内部函数。其子类有CComObjectRootEx(实现了两个函数InternalAddRef(),InternalRelease)CComSingleT
2013-04-19 18:03:25 2114
原创 [Win32]注册表的写
注册表的写 HKEY hKey; DWORD dwAge=30; RegCreateKey(HKEY_LOCAL_MACHINE,"Software\\http://www.sunxing.org\\admin",&hKey);//在Software下创建项http://www.sunxing.org\admin RegSetValue(hKey,NULL,REG_SZ,"zha
2013-04-17 18:04:32 1300
原创 [Win32]定时器SetTimer
要调用的地方 SetTimer(g_hMainWnd,ID_GIVEUP,1000,NULL);//会给主窗口发送WM_TIMER消息;1000=1秒;ID_GIVEUP为标识 if (MessageBox(g_hMainWnd,L"确定要退出吗?",L"提示",MB_YESNO)==IDYES) { KillTimer(g_hMainWnd,ID_GIVEUP); //自己的
2013-04-17 17:42:42 1732 1
原创 [MFC]MFC线程
概述工作者线程:一般没有界面,处理后台耗时的操作。使用过程:1.定义线程函数 2.调用AfxBeginThread()函数,指定线程函数用户界面线程:可以拥有自己的窗口界面,能够对用户的输入和事件做出相应。使用过程:1.定义一个CWinThread类的子类 2.调用AfxBeginThread()函数,指定线程类实例1.创建MFC基于对话框的工程MFCThread,以后全部默认
2013-04-12 20:52:43 1621
原创 [COM/ATL]COM组件编程——初步了解
什么是COM组件COM是Component Object Model(组件对象模型)的缩写。COM组件是以WIN32动态链接库(DLL)或可执行文件(EXE)形式发布的可执行代码组成什么是GUIDglobally unique identifier(GUID——全球唯一标识符) 分配给COM对象的标识符(ID)。它通过一种复杂的算法生成,该算法保证所有 的 COM对象都有着唯一
2013-04-12 19:50:21 2453
原创 MFC列表控件ListControl和树控件TreeControl
列表控件 列表相关的类:CListCtrl-父类是CWnd,本质是一个控件; CListView-父类是CView,本质是一个视图。相当于在视图中嵌入了一个CListCtrl控件 列表控件的使用 1.1 显示方式:LVS_ICON/LVS_SMALLICON/LVS_LIST/LVS_REPORT 1.2 图标:CListCtrl::SetImageList;CListCt
2013-04-12 18:17:26 4018
原创 string、wstring、cstring、 char、 tchar、int、dword互转
最近编程一直头痛字集中类型的转化,明知都可以转却总是记不住,不断的上网查来查去,在这里小结一下。以备以后方便使用,当然有些方法可能不是最新的,或者最简单的,但是对于自己已经了解的使用起来应该方便的多:1》string 转 wstringwstring s2ws(const string& s){ _bstr_t t = s.c_str(); wchar_t* pwchar =
2013-04-11 12:31:29 1709
原创 MFC序列化
概述1.序列化概念:采用数据流的方式,将数据依次写入或者读取文件。是二进制的存储方式。2.序列化相关类:CFile(文件类);CArchive(封装了序列化操作,完成数据读写的具体操作);CObject中与序列化相关的两个函数,CObject::Serialize()数据读写的虚函数;CObject::IsSerializable()判断是否支持序列化。3.序列化的使用:
2013-04-11 11:41:07 2218
原创 MFC文件CFile
概述1 MFC文件相关 CFile-父类是CObject,封装了文件操作的API,提供了文件创建以及读写操作。CFileFind-文件搜索,父类也是CObject。文件查找操作2 CFile的使用 2.1 打开或者创建文件CFile::Open 2.2 数据读写 CFile::Read/Write 2.3 文件的关闭 CFile::Close
2013-04-09 12:20:42 1805
原创 MFC文档类CDocument
概述一个最基本的文档视图框架程序组成部分:View(显示数据);Document(管理数据)父类是CCmdTarget,提供文档数据的管理;Frame(作为容器)提供各种业务支持。文档的使用创建过程:1.调用Frame的LoadFrame()函数,创建Frame窗口2.在Frame的WM_CREATE消息中,创建View对象以及窗口3.在View的WM_CREATE消息中,将D
2013-04-08 17:56:09 2373
原创 MFC的视图View
概述MFC视图(View类)提供一个显示数据的窗口,用于和客户交互,父类是CWnd。视图的使用:1.定义CView类的子类,实现OnDraw()函数 2.调用Create()函数创建,视图的ID用系统提供的AFX_IDW_PANE_FIRST视图的销毁:CView::PostNcDestroy()会销毁窗口,delete this;命令消息的映射:1.Frame窗口首先收到菜单
2013-04-07 18:21:17 3239
原创 MFC对话框与数据交换
对话框 对话框分为模态对话框和无模态对话框。模态对话框就是指在子对话框弹出时,焦点被强行集中于该子对话框,子对话框不关闭,用户将无法操作其他的窗口。非模态相反,用户仍然可以操作其他的窗口,包括该子对话框的父对话框。如果从线程角度来讲,模态对话框实际上是线程阻塞的,也就是子对话框是一个线程,但是在创建这个子线程之后,父窗口就阻塞了;模态对话框则不是阻塞型的线程模型,父子线程
2013-04-03 18:33:18 2636
原创 MFC一个程序的窗体给另一个程序的窗体发消息
实例新建MFC的工程Sender和Receiver,选择单个文档,取消文档视图支持--->下一步-->下一步--->下一步-->完成。删除所有自动生成的类和资源。自己来创建窗体发送消息的程序// Sender.cpp : 定义应用程序的类行为。 #include "stdafx.h" #define WM_COMM (WM_USER+100) #define WM_SEND (
2013-04-02 18:26:51 3108
原创 MFC框体添加菜单栏工具栏状态栏
菜单栏工具栏状态栏菜单栏CMenu封装了菜单句柄和相关菜单API1.1添加资源1.2在CMainFrame::OnCreate函数中添加菜单;CMenu::Attach——将菜单句柄附加到菜单对象中;CMenu::Detach——将菜单句柄从菜单对象中分离1.3 命令相关 ON_COMMAND1.4 菜单项的状态 ON_UPDATE_COMMAND_UI CCm
2013-04-02 14:25:11 2629 1
原创 一个简单的Win32工程改成MFC工程
对于一个MFC应用程序来说,只有CWinApp的派生对象是必不可少的,其它类均可视情况进行取舍。新建一个Win32应用程序的空项目,新建TestMFC.cpp文件#pragma once#include class TestApp:public CWinApp{public: virtual BOOL InitInstance() { MessageBox(NULL,L"
2013-04-01 16:46:12 5017 1
sqlite3API的封装
2013-07-17
远程文件下载--select模式
2013-05-31
Boost1.5.0
2012-12-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人