VC学习笔记: 1. Window程序内部运行机制
0. 内容结构
API与SDK
窗口与句柄
消息与消息队列
WinMain函数
1. API与SDK
- 这里 API是指由Windows操作系统提供给应用程序的编程接口;
- Windows系统提供的API函数均在Windows.h中声明;
- SDK-软件开发工具包。
2. 窗口与句柄
a. Windows程序资源与句柄
- Windows程序中包含多种资源:窗口、图标、光标,系统在创建资源时为其分配内存,并返回标识这些资源的标识符,即句柄。
- 句柄(HANDLE):HWND(窗口句柄)、HICON(图标句柄)、HCURSOR(光标句柄)。
b. 窗口
- 窗口是Windows程序资源的一种,是一个非常重要的元素。
3. 消息与消息队列
- Windows程序设计采用基于事件驱动方式的设计模式,主要是基于消息的。
- 消息由消息结构体表示。
typedef struct tagMSG{
HWND hwnd;
UINT message;//消息标识符,以数值表示 定义为WM_xxx宏;
WPARAM wParam;
LPARAM lParam;
DWORD time;
POINT pt;
}
- 系统为应用程序实例创建其专属的消息队列。
- 系统负责将产生的消息存储到其所属的应用程序的消息队列中。
- 系统负责将消息从消息队列中取出并进一步响应。
- Windows程序中还包含不进队的消息。
VC学习笔记: 1. Window程序内部运行机制的更多相关文章
- JAVA学习笔记系列2-Java程序的运行机制
计算机高级语言的类型主要有编译型和解释型两种,而java语言是两种类型的结合. java首先利用文本编辑器编写java源程序,源文件后缀名为.java,再利用编译器(javac)将源程序编译成字节码文 ...
- windows程序内部运行机制
Windows程序内部运行机制 2007-10-21 19:52 1010人阅读 评论(0) 收藏 举报 windowsvc++applicationcallbackwinapistructure W ...
- 深入浅出话VC++(1)——Windows程序内部运行机制
一.引言 要想熟练掌握Windows应用程序的开发,首先需要理解Windows平台下程序运行的内部机制,然而在.NET平台下,创建一个Windows桌面程序,只需要简单地选择Windows窗体应用程序 ...
- Windows程序内部运行机制 转自http://www.cnblogs.com/zhili/p/WinMain.html
一.引言 要想熟练掌握Windows应用程序的开发,首先需要理解Windows平台下程序运行的内部机制,然而在.NET平台下,创建一个Windows桌面程序,只需要简单地选择Windows窗体应用程序 ...
- [快手(AAuto)学习笔记]如何让程序在运行时请求管理员权限(UAC)
作者:ffsystem 作为(糟糕的)程序猿,习惯写代码解决一些简单事务.正常用批处理就能解决大部分工作,复杂一点用AutoIt 3. 有时候要分发给别人,就需要一个界面.外行你程序写得如何他看不懂, ...
- 【vc】1_Windows程序内部运行机制
创建一个Win32应用程序步骤: 1.编写WinMain函数; 2.创建窗口(步骤如下): a.设计(一个)窗口类(WNDCLASS) b.注册(该)窗口类. c.创建窗口. d.显示并更新窗口. 3 ...
- <转>ASP.NET学习笔记之理解MVC底层运行机制
ASP.NET MVC架构与实战系列之一:理解MVC底层运行机制 今天,我将开启一个崭新的话题:ASP.NET MVC框架的探讨.首先,我们回顾一下ASP.NET Web Form技术与ASP.NET ...
- 《Java疯狂讲义》(第3版)学习笔记 2 - Java语言的运行机制
内容 1.高级语言的运行机制 2.Java 语言的运行机制 1.高级语言的运行机制 高级语言主要分为编译型语言和解释型语言两类. 编译型语言是指使用专门的编译器.针对特定平台(操作系统)将高级语言源代 ...
- 第1章 Windows程序内部运行机制
参考: https://blog.csdn.net/u014162133/article/details/46573873 1.Windows API与Win32 SDK 操作系统提供了各种方便开发W ...
随机推荐
- [UWP-小白日记13]Composition动画
前言 首先,来对比下传统动画和Composition动画.看图就能明白composition动画的优势太明显就像官方说的大幅度的降低了动画的实现难度和代码量. 传统的动画,就拿最常见的就是过度动画:进 ...
- CSS3效果收集
收集一些 CSS3 效果 1. 闪烁字效果 原效果>>
- D3.js
html代码: <div id="id"> <p>Apple</p> <p id="aa">Pear</p ...
- svn 目录设置为 不提交 忽略
svn 忽略 以下文件 和目录 (不提交) runningtime --选中 tortoiseSVN --unversion and add to ignore list web workspace ...
- 实时控制软件第一周 汽车ABS系统软件分析
abs系统简介 在踩急刹车的时候,若没有额外的控制,容易使车轮完全停止转动,从而出现车轮打滑,车轮导向作用丧失的危险情况. abs系统的作用是在驾驶员完全踩住制动踏板的情况下,通过实时地测量车轮转速, ...
- js中width,height,left,top计算
①offset 包括了元素的边框和内边距和滚动条 offsetWidth.offsetHeight元素的宽度和高度 offsetLeft .offsetTop元素相对于文档左边和顶部的距离(定位 ...
- openstack私有云布署实践【19 通过python客户端 创建实例VM指定IP地址】
还有一种创建方式 是使用py开发工具,调用openstackclient的方法进行创建实例 ,好处就是可随意指定我们要的虚拟机IP地址,需求的场景就是,某天我们需要主动分配一个比较熟知的IP用作某个服 ...
- 【Python】Markov text generator马尔科夫文字生成器
遍历一段文字,统计每个字后面出现的字和其次数,当前一个字确定的时候,计算后一个字出现的百分比,用这个百分比作为文字生成器中后一个字出现的概率进行文字生成 from random import rand ...
- ****K - Alien's Organ
K - Alien's Organ Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu Sub ...
- 一个快速、高效的Levenshtein算法实现——代码实现
在网上看到一篇博客讲解Levenshtein的计算,大部分内容都挺好的,只是在一些细节上不够好,看了很长时间才明白.我对其中的算法描述做了一个简单的修改.原文的链接是:一个快速.高效的Levensht ...