Windows程序的内部运行机制

   Windwos程序都是基于消息的,系统为每个应用程序都会分配一个消息队列。应用程序的所有操作都会通知操作系统,操作系统把应用程序所要完成的操作以消息的形式发送给消息队列,应用程序会调用GetMessage()函数从消息队列中读出消息(如:键盘按下,鼠标单击),然后通知操作系统做出相应的反应。

   1. WinMain()函数是Windows程序的入口函数,所以 WinMain()函数的编写是Windows程序的第一步。

  2.窗口的创建:

    (1)设计窗口类(WNDCLASS);

    (2)注册窗口类(RegisterClass());

    (3)创建窗口(CreaterWindow());

    (4)显示及更新窗口(ShowWindow()及UpdateWindow())

  在窗口创建完成之后,在WinMain()函数中要编写消息循环,从消息队列中获取消息GetMessage(),经过翻译和投递TranslateMessage()DispatchMessage()将消息投递给操作系统响应。

  3.编写窗口过程函数。

    在窗口过程函数中一定要调用系统的DefWindowProc()函数响应默认的消息。

   窗口过程函数的书写格式为 LRESULT CALLBACK WindowProc(),CALLBACK是_stdcall宏,_stdcall只是一种函数调用的约定,常用来调用Win32 API,而C++的调用习惯是_cdecl.

具体函数的书写方法和调用细节参看msdn。

posted @ 2011-09-04 14:51  乘风736  阅读(981)  评论(1编辑  收藏  举报