主要内容:介绍Windows应用程序的特点,并附加了消息和事件的一些区别  //以后该分类中字体均采用 隶书 4(14pt)

  1. 面向对象
    <1>针对Windows应用本身,如记事本界面,
      不像传统的控制台,而是针对窗口、菜单等对象进行操作(窗口就是一个对象)
    <2>对象通俗的讲就是Windows应用程序界面上的各种规范的部件
      比如窗口、菜单、按钮、对话框、程序模块等
    <3>编写Windows程序想当一部分工作是在创建对象和为对象属性赋值
    <4>对象特征:具有规范的形态和操作模式
  

  2.具有消息传递机制和事件驱动机制
    <1>传统的MS-DOS程序是按程序代码的命令顺序执行的
    <2>基于Windows的应用程序是以消息为基础,由事件来驱动,
      但不是由事件的顺序来控制的,而是由事件的发生来控制的,而这种发生是随机的
    <3>Windows应用程序对用户输入的响应方式主要包括消息循环和事件响应两种机制
      例如:用户单击鼠标左键,那么在消息响应的机制中就会产生单击鼠标左键这个消息,
      在VC++中,Windows将产生的消息送到消息队列中,
      然后系统将消息传递给窗口处理函数进行响应的处理
  

  3.多任务和多线程 
    <1>Windows是多任务的操作系统,它能同时运行多个应用程序
  

  4.多形式的输入输出手段
    <1>硬件方式
      鼠标、键盘、扫描仪、手写板等
    <2>软件方式
      定时器
  

  5.设备无关的图形输出
    <1>Windows是多窗口的操作系统,是由操作系统来统一管理屏幕的输出
      系统是使用的GDI(Graphics Device Interface,图形设备接口)进行输出,
      因而屏蔽了不同设备的差异
   
  另附上事件和消息的区别:
    事件是一个动作——用户触发的动作。  
    消息是一个信息——传递给系统的信息。   
   
    事件与消息的概念在计算机中较易混淆,但本质不同:   
   
    事件由用户(操作电脑的人)触发且只能由用户触发,操作系统能够感觉到由用户触发的事件,并将此事件转换为一个(特定的)消息发送到程序的消息队列中。   
   
    这里强调的是:  
    可以说“用户触发了一个事件”,而不能说“用户触发了一个消息”。  
    用户只能触发事件,而事件只能由用户触发。  
    一个事件产生后,将被操作系统转换为一个消息,所以一个消息可能是由一个事件转换而来(或者由操作系统产生)。  
    一个消息可能会产生另一个消息,但一个消息决不能产生一个事件——时间只能由用户触发。   
   
  总结(事件:消息的来源) 
    事件:只能由用户通过外设的输入产生。  
    消息:(产生消息的来源有三个)  
    (1)由操作系统产生。   
    (2)由用户触发的事件转换而来。   
    (3)由另一个消息产生。

1-1 Windows应用程序的特点的更多相关文章

  1. 【系统篇】从int 3探索Windows应用程序调试原理

    探索调试器下断点的原理 在Windows上做开发的程序猿们都知道,x86架构处理器有一条特殊的指令——int 3,也就是机器码0xCC,用于调试所用,当程序执行到int 3的时候会中断到调试器,如果程 ...

  2. 一个优秀windows C++程序员的知识体系

    思考一个优秀windows C++ 程序员该有哪些知识,可最终发现什么知识都不能少, 看下图: 除了上面知识,程序员还要不断学习, 保持对新知识的热情. 转自http://www.cppblog.co ...

  3. Windows 安装程序无法将 Windows 配置为在此计算机的硬件上运行

    遇到这个问题是用辅助工具(WinNTSetup3.exe)进行的安装,重启后就就遇到“Windows 安装程序无法将 Windows 配置为在此计算机的硬件上运行” 解决:在WIN PE 下挂载安装光 ...

  4. 字符模型和Windows等价程序

    二者很明显的区别,dos和gui 字符模式模型 #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]){    print ...

  5. 一个优秀windows C++程序员的知识体系[转]

    转自:一个优秀windows C++程序员的知识体系 思考一个优秀windows C++ 程序员该有哪些知识,可最终发现什么知识都不能少, 看下图: 除了上面知识,程序员还要不断学习, 保持对新知识的 ...

  6. 如何给windows窗体程序打包成一个安装包

    http://blog.csdn.net/xyy410874116/article/details/6341787 给windows窗体程序打包成一个安装包:具体操作在:http://hi.baidu ...

  7. vs调试windows mobile程序时布署时间太长的解决办法

    vs调试windows mobile程序时布署时间太长的解决办法 1.VS平台上,选工具-选项-项目和解决方案-MS BUILD项目生成输出详细信息中选择“诊断”,目的是在调试窗口中看出哪个过程编译的 ...

  8. VC菜菜鸟:建立第一个基于Visual C++的Windows窗口程序

    建立第一个基于VisualC++的Windows窗口程序: 发表于:http://blog.csdn.net/it1988888/article/details/10306585 a)执行命令:新建 ...

  9. WINDOWS自启动程序的10大隐身之所

    Windows启动时通常会有一大堆程序自动启动.不要以为管好了“开始→程序→启动”菜单就万事大吉,实际上,在Windows XP/2K中,让Windows自动启动程序的办法很多,下文告诉你最重要的两个 ...

随机推荐

  1. bzoj 1036 Tree Count

    题目大意:给出一棵树,每个点有一个权值,要求三种操作:1.修改某个点的权值,2.询问x到y路径上各点的权值最大值,3.询问x到y路径上各点的权值之和. #include <cstdio> ...

  2. Oracle GoldenGate 12c 新特性

    针对Oracle 12c的专门优化: 针对Oracle数据库的集成交付模式:提升在oracle DB中目标端的交付速度: 针对非Oracle数据库的协调交付模式:降低非oracle DB中多线程配置的 ...

  3. poj1125(Floyd最短路)

    //Accepted 164 KB 0 ms //floyd #include <cstdio> #include <cstring> #include <iostrea ...

  4. Ubuntu 14.10 下安装Sublime Text 3,注册码,中文输入法

    1 下载Sublime Text 3,网址http://www.sublimetext.com/3 2 双击deb安装 3 因为需要需要付费,输入下面的注册码,下面的注册码,来自百度,亲测可行 Sub ...

  5. android自学笔记一

    android是什么我自闭不必多说,我们挑精华整理 一.android体系架构: android从下而上分为四层: (1)分别是linux操作系统及驱动(C语言实现) (2)本地代码(C/C++)框架 ...

  6. MouseJack:利用15美元的工具和15行代码控制无线鼠标和键盘

    Bastille的研究团队发现了一种针对蓝牙键盘鼠标的攻击,攻击者可以利用漏洞控制你的电脑操作.研究团队将此攻击命名为MouseJack. 七大厂商皆中招 软件工程师马克纽林说:“利用假冒的无线电脑鼠 ...

  7. 【Oracle XE系列之三】使用OMF方式手工创建Oracle XE数据库

    环境:win10_X64_Pro 1.创建数据库实例,实例名为PF C:\oraclexe\app\oracle\product\11.2.0\server\bin>oradim -new -s ...

  8. 【LeetCode OJ】Best Time to Buy and Sell Stock II

    Problem Link: http://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/ We solve this prob ...

  9. 作业5-需求分析(EX:南通大学成绩录入系统)

    产品利益相关者: 用户:南通大学各任课老师. 顾客:南通大学(教务处) 工程师:系统的开发,测试,维护,推广人员等 竞争性需求分析: N(需求) A(做法) B(好处) C(竞争) D(推广) 基础性 ...

  10. iOS:音频

    ios中有很多支持音频的控件,如:播放本地音乐(file URL)的AVAudioPlayer和AudioToolbox.Framework.可以播放音乐库音乐的MPMusicPlayerContro ...