深入浅出MFC笔记——第一章
来源:互联网 发布:asp商城源码 编辑:程序博客网 时间:2024/06/14 04:01
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
if (!hPrevInstance)
if (!InitApplication(hInstance))
return (FALSE);
if (!InitInstance(hInstance, nCmdShow))
return (FALSE);
...
}
//--------------------------------------------------
BOOL InitApplication(HINSTANCE hInstance)
{
WNDCLASS wc;
...
return (RegisterClass(&wc));
}
//--------------------------------------------------
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
_hWnd = CreateWindow(...);
...
}
1. 在Windows 3.x 时代,窗口类别只需注册一次,即可供同一程序的后续每一个
执行实例(instance)使用。所以我们把RegisterClass 这个动作安排在「只有第一个执行个体才会进入」的InitApplication 函数中。产生窗口,是每一个执行实例( instance ) 都得做的动作, 所以我们把CreateWindow 这个动作安排在「任何执行实例都会进入」的InitInstance 函数中。现在的版本中已经被忽略,这样写的原因MFC 把这两个函数包装成CWinApp 的两个虚拟成员函数。
2. TranslateMessage 是为了将键盘消息转化。
3. CreateWindow函数发出WM_CREATE消息产生窗口,DefWindowProc 收到WM_CLOSE 后, 调用DestroyWindow 把窗口清除。DestroyWindow 本身又会送出WM_DESTROY。程序对WM_DESTROY 的标准反应是调用PostQuitMessage。 PostQuitMessage 没什么其它动作,就只送出WM_QUIT 消息,准备让消息循环中的GetMessage 取得0结束。
4. Console程序与DOS程序的差别:利用Windows 编译器、联结器做出来的程序,都是所谓Win32 程序。如果程序是以main 为进入点,调用Cruntime 函数和「不牵扯GUI」的Win32 API 函数,那么就是一个console 程序。过去在DOS 环境下开发的程序,称为DOS 程序,它也是以main 为程序进入点,可以调用C runtime 函数。但不可能调用Win32 API 函数。
5. 使用CreateProcess函数创建进程,建立新进程之前,系统必须做出两个核心对象,也
就是「进程对象」和「执行线程对象」。调用ExitProcess函数进程可以结束自己的生命,调用TerminateProcess函数可以结束其它进程的生命。最好不用利用TerminateProcess函数结束子进程生命,因为系统不会清理子进程遗留下来的垃圾。使用CloseHandle函数可以割断父进程和子进程之间的关联。
- 深入浅出MFC笔记——第一章
- 深入浅出MFC(第一章)
- 读《深入浅出MFC》笔记——关于MM_ANISOTROPIC影射模式
- <<深入浅出MFC>>笔记1——Win32基本程序观念
- 深入浅出设计模式第一章笔记
- 《深入浅出HTML》阅读笔记---第一章
- 《深入浅出mfc》学习笔记
- 深入浅出MFC笔记1
- 深入浅出MFC笔记2
- 《深入浅出mfc》学习笔记
- 深入浅出MFC笔记
- 深入浅出MFC笔记
- MFC深入浅出笔记 ①
- 《深入浅出MFC》学习笔记
- 深入浅出MFC 笔记
- 深入浅出MFC笔记(4)
- 深入浅出MFC笔记
- MFC深入浅出知识点笔记
- 创建强类型DataSet --转自:小菜之智能客户端(2)
- 记录更新 条件来自本表另一记录
- Virtual PC/Windows CE Emulator”使Windows不稳定
- Remedy7.5学习笔记3
- 嵌入式linux的中断函数实现和分析(一)
- 深入浅出MFC笔记——第一章
- JAVA相关基础知识
- LM358 双运算放大器电路的典型应用
- Action配置方法
- 设计心得
- 加密的存储过程解密
- 如何选择棋牌游戏开发公司为合作商
- [J2ME]手机唯一标识
- 广域网加速解决方案