一.Windows程序内部运行机制

  Windows内部运行机制

1.APISDK

apiwindows操作系统提供给应用程序编程的接口(Application Proramming Interface)简称api函数,windows1000多种api函数。

sdk全称是Software Development Kit,中文译为软件开发包。例如:购买语音卡的同时,厂商就会提供语音卡的sdk,这个sdk通常包含语音卡的api函数库、帮助文档、使用手册、辅助工具等资源。

2.句枘

句柄(HANDLE)Windows程序中一个重要的概念,使用非常频繁。在windows程序中,有各种各样的资源(窗口、图标、光标等),系统在创建这些资源会为它们分配内存,并返回标识这些资源的标识号,即句柄。

例窗口句枘(HWND)、图标句柄(HICON)、光标句柄(HCURSOR)、画刷句柄(HBRUSH)

 

3.消息

windows程序设计是一事件驱动方式的程序设计模式,主要是基于消息的。

windows程序中,消息是由MSG结构体来表示的。MSG结构体定义如下

typedef struct tagMSG {

HWND  hwnd;

//消息所属的窗口

 

UINT   message;

//消息的标识符,消息由数值表识的不便记忆,所以定义为宏WM_XXX(WMwindows message的缩写)XXX对定消息英文大写,例如鼠标左键按下消息WM_LBUTTONDOWN,键盘按下消息WM_KEYDOWN,字符消息就是WM_CHAR

 

WPARAM wParam;

LPARAM lParam;

//wParamlParam用于指定消息的附加信息。例如收到一个字符消息时,message的成员变量就是WM_CHAR,但用户到底输入的到底什么字符,就由wParamlParam来说明。

 

DWORD  time;

//消息投递到消息队列的时间。

 

POINT  pt;

//鼠标的当前位置。

} MSG;

4.消息队列

每一个windows应用程序开始执行后,系统都会为该程序创建一个消息队列,这个消息队列用来存放该程序创建的窗口的消息。

当消息投放到消息队列中后,应用程序则通过一个消息循环不断地从消息队列中取出消息,并进行响应。这种消息机制,就是windows程序运行的机制。

5.进队消息和不进队消息

进队消息将由系统放入到应用程序的消息队列中,然后由应用程序取出并发送。不进队消息在系统调用窗口过程时直接发送给窗口。不管是进队消息还是不进队消息,最终都由系统调用窗口过程函数对消息进行处理。

6.WinMain函数

Windows

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值