【Windows编程】期末复习题2

系列文章目录

期末复习题1


文章目录

  • 系列文章目录
  • 解释下列名词的含义?
  • 设备环境(描述表)保存了哪些信息?有什么作用?
  • 模态对话框与非模态对话框有什么区别?
  • 在程序设计中,经常要用到线程,对线程的操作有哪些?
  • Windows编程中常用消息有哪些?应用程序如何响应键盘消息?


解释下列名词的含义?

答:

  • API:应用程序编程接口(Application Programming Interface)
  • GDI:图形设备接口(Graphics Device Interface)
  • SDK:软件开发包(Software Development Kit)
  • DLL:动态链接库(Dynamic Link Library)

设备环境(描述表)保存了哪些信息?有什么作用?

答:设备环境也称设备描述表或设备上下文,它是由Windows管理的一个数据结构,它保存了绘图操作中一些共同需要设置的信息,如当前的画笔、画刷、字体和位图等图形对象及其属性,以及颜色和背景等影响图形输出的绘图模式。
应用程序利用设备环境中的信息定义图形对象及其属性,并实现应用程序、设备驱动程序和输出设备之间绘图命令的转换。

模态对话框与非模态对话框有什么区别?

答:对话框是一个弹出式窗口,它一般用于程序需要用户输入或者需要和用户进行交互活动的场合。对话框的主要形式有模态对话框和非模态对话框两种。

  • 模态对话框不允许用户在关闭对话框之前切换到应用程序的其它窗口,当一个模态对话框初始化时,对话框的消息循环将处理消息,但并不返回给WinMain函数。
  • 非模态对话框允许用户在该对话框与应用程序其它窗口之间进行切换,非模态对话框从
    WinMain函数的消息循环中接收输入。

在程序设计中,经常要用到线程,对线程的操作有哪些?

答:对线程的操作有:启动线程(采用Start()方法);终止线程(Abort()方法,调用Abort方法后,如果系统自动清理代码的工作没有结束,可能会出现死机一样的假象);合并线程(Join()方法用于把两个并行执行的线程合并为一个单个的线程);让线程休眠(Sleep()方法可让线程休眠);挂起与继续(Suspend()可挂起线程,Resume()方法可让挂起线程继续)。

Windows编程中常用消息有哪些?应用程序如何响应键盘消息?

答:Windows中常用的消息有:窗口管理消息、初始化消息、输入消息、系统消息、剪切板消息、控件处理消息、控件通知消息、滚动条通知消息、非用户区消息、MDI(多文档界面)消息、DDE(动态数据交换)消息、以及应用程序自定义的消息等。常用消息比如:WM_CREATE(窗口被创建)、WM_DESTROY(窗口被销毁)、WM_SIZE(窗口大小变化)、WM_CLOSE(关闭窗口)等。

响应键盘消息:当用户按下某个键时,键盘会检测到这个动作,并通过键盘控制器把扫描码(scan code)传送给Windows的键盘驱动程序。键盘驱动程序把这个扫描码转换为键盘虚拟码,(虚拟码与具体硬件无关,不同厂商的键盘,同一个键的虚拟码都是相同的。)然后,键盘驱动程序把该键盘操作的扫描码和虚拟码以及其它信息传递给操作系统。Windows操作系统的用户模块将获得的按键信息封装在一个键盘消息中,并把该键盘消息发送到应用程序的消息列队中。应用程序接收到消息后,将对消息进行转换并处理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/578105.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于OpenCV中 CV_Assert() 的使用引起程序中止/崩溃问题

CV_Assert() 的作用是:若括号中的表达式值为 false ,则返回一个错误信息,并终止程序执行。 但是 CV_Assert() 与 assert 不同,CV_Assert() 会通过异常抛出,所以如果使用 CV_Assert(),可以通过捕获异常而不是…

神经网络介绍

目录 知识点介绍 知识点介绍 前馈神经网络:(前馈网络的数据只向一个方向传播) RNN循环神经网络,下图中多个 RNN 层都是“同一个层”,这一点与之前的神经网络是不一样的。

算法训练day49|动态规划part10

121. 买卖股票的最佳时机 参考文章:代码随想录 贪心 因为股票就买卖一次,那么贪心的想法很自然就是取最左最小值,取最右最大值,那么得到的差值就是最大利润。 本次重点学习动态规划方法 1. dp数组(dp table&#x…

JavaScript基础知识点总结:从零开始学习JavaScript(二)

如果大家感感兴趣也可以去看: 🎉博客主页:阿猫的故乡 🎉系列专栏:JavaScript专题栏 🎉ajax专栏:ajax知识点 🎉欢迎关注:👍点赞🙌收藏✍️留言 学习…

智能优化算法应用:基于驾驶训练算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于驾驶训练算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于驾驶训练算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.驾驶训练算法4.实验参数设定5.算法结果6.…

Springboot整合MVC进阶篇

一、概述 1.1SpringBoot整合SpringMVC配置 SpringBoot对SpringMVC的配置主要包括以下几个方面: 自动配置:SpringBoot会自动配置一个嵌入式的Servlet容器(如Tomcat),并为我们提供默认的SpringMVC配置。这样我们无需手动…

深圳锐科达SIP矿用电话模块SV-2801VP

深圳锐科达SIP矿用电话模块SV-2801VP 一、简介 SV-2800VP系列模块是我司设计研发的一款用于井下的矿用IP音频传输模块,可用此模块打造一套低延迟、高效率、高灵活和多扩展的IP矿用广播对讲系统,亦可对传统煤矿电话系统加装此模块,进行智能化…

【.NET Core】反射(Reflection)详解(三)

【.NET Core】反射(Reflection)详解(三) 文章目录 【.NET Core】反射(Reflection)详解(三)一、概述二、ConstructorInfo类2.1 ConstructorInfo.MemberType 属性2.2 ConstructorInfo.…

基于5G智能网关的智慧塔吊监测方案

塔吊是建筑施工中必不可少的设施,由于塔吊工作重心高、起重载荷大、人工视距/视角受限等因素,也使得塔吊在工作过程中着较多的危险因素。对此,可以部署基于工业5G智能网关搭建智慧塔吊安全监测系统,实现对塔吊运行的全局精细监测感…

TP-Link路由器桥接设置

本文介绍了TP-Link路由器无线桥接设置方法;无线桥接指的就是通过无线的方式,把两台(多台)无线路由器连接起来,进行桥接的几台路由器中,只要有一台可以上网,剩下的也就可以上网了;主要作用是用来扩大无线WiF…

【STM32单片机】电子木鱼设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用STM32F103/F407单片机控制器,TFTLCD触摸屏、蜂鸣器等。 主要功能: 系统运行后,TFTLCD显示画面,可触摸木鱼区域,功德计数加1&#xf…

漏刻有时数据可视化Echarts组件开发(46)散点图颜色判断

series组件 series: [{name: Top 5,type: scatter,coordinateSystem: bmap,data: convertData(data.sort(function (a, b) {return b.value - a.value;}).slice(0, 6)),symbolSize: 20,encode: {value: 2},showEffectOn: render,rippleEffect: {brushType: stroke},label: {fo…

分布式系统架构设计之分布式通信机制

二、分布式通信机制:保障系统正常运行基石 在分布式系统中,各个组件之间的通信是保障系统正常运行的基石,直接影响到系统的性能、可扩展性以及整体的可维护性。接下来我们就一起看看通信在分布式系统中的重要性,以及一些常用的技…

Java---IO流讲解(2)

文章目录 1. 字符流1.1 为什么出现字符流1.2 字符流写数据的5种方式1.3 字符流读数据的两种方式1.4 字符缓冲流1.5 字符缓冲流特有功能 2. IO流小结2.1 字节流2.2 字符流 1. 字符流 1.1 为什么出现字符流 由于字节流操作中文时不是特别方便,因此Java提供了字符流。…

SpringBoot - Maven 打包合并一个胖 JAR 以及主项目 JAR 依赖 JAR 分离打包解决方案

问题描述 <plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.1.18.RELEASE</version><configuration><!--<classifier>exec</classifier>--…

JS常用HOOK调试技术

hook技术 Hook 是一种钩子技术&#xff0c;在系统没有调用函数之前&#xff0c;钩子程序就先得到控制权&#xff0c;这时钩子函数既可以加工处理&#xff08;改变&#xff09;该函数的执行行为&#xff0c;也可以强制结束消息的传递。简单来说&#xff0c;修改原有的 JS 代码就…

网络安全保障流程

需求定义 满足法规合规、业务需求、风险评估 信息系统保护轮廓ISPP-----标准化安全保障需求文档----从用户角度规范化、机构化 需要包括&#xff1a;系统描述、安全环境、保障目的、安全保障要求、应用注解、符合性声明7部分 规划设计 考虑业务功能和价值&#xff0c;哪些风险…

12.25广义分布外检测学习/代码复现

A model.getA().toarray() # b np.array(model.RHS) sense np.array(model.sense) f np.array(model.obj)Aineq np.vstack((-Ale, Age)) # 把所有的<和>组合在一起 bineq np.append(-ble, bge) # 这里用append使bineq为一个一维矩阵&#xff0c;而不是2行1列的二…

html动态加载script

<!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <title>动态添加JavaScript代码</title> </head> <body> <h1>Hello, World!</h1> <button onclick"add…

SpringBoot 3.2.0 基于Spring Security+JWT实现动态鉴权

依赖版本 JDK 17 Spring Boot 3.2.0 Spring Security 6.2.0 工程源码&#xff1a;Gitee 为了能够不需要额外配置就能启动项目&#xff0c;看到配置效果。用例采用模拟数据&#xff0c;可自行修改为对应的ORM操作 编写Spring Security基础配置 导入依赖 <properties>&l…