Windows系统编程练习题参考答案

合集下载

windows编程期末考试和答案

windows编程期末考试和答案

windows编程期末考试和答案一、单选题(每题2分,共20分)1. 在Windows编程中,哪个函数用于创建一个窗口?A. CreateWindowB. CreateDialogC. MessageBoxD. DrawText答案:A2. 哪个消息是当窗口被创建时发送的?A. WM_CREATEB. WM_PAINTC. WM_DESTROYD. WM_CLOSE答案:A3. 在GDI中,哪个函数用于绘制文本?A. DrawTextB. TextOutC. ExtTextOutD. MessageBox答案:B4. 哪个函数用于获取设备上下文(DC)?A. GetDCB. ReleaseDCC. BeginPaintD. EndPaint答案:A5. 在Windows中,哪个函数用于设置窗口的标题?A. SetWindowTextB. GetWindowTextC. DrawTextD. MessageBox答案:A6. 哪个消息是当窗口被销毁时发送的?A. WM_CREATEB. WM_DESTROYC. WM_CLOSED. WM_PAINT答案:B7. 在Windows编程中,哪个函数用于创建一个位图?A. CreateBitmapB. CreateCompatibleBitmapC. LoadBitmapD. CreateDIBSection答案:B8. 哪个函数用于在窗口中绘制一个矩形?A. RectangleB. FillRectC. DrawRectD. InvertRect答案:A9. 在Windows中,哪个函数用于获取系统颜色?A. GetSysColorB. GetDCC. GetBkColorD. GetTextColor答案:A10. 哪个消息是当窗口大小改变时发送的?A. WM_SIZEB. WM_MOVEC. WM_PAINTD. WM_CLOSE答案:A二、多选题(每题3分,共15分)1. 在Windows编程中,以下哪些函数可以用来创建窗口?()A. CreateWindowB. CreateDialogC. MessageBoxD. LoadImage答案:A、B2. 以下哪些消息是与窗口生命周期相关的?()A. WM_CREATEB. WM_DESTROYC. WM_CLOSED. WM_PAINT答案:A、B、C3. 在GDI中,以下哪些函数可以用来绘制文本?()A. DrawTextB. TextOutC. ExtTextOutD. MessageBox答案:A、B、C4. 在Windows中,以下哪些函数可以用来设置窗口的属性?()A. SetWindowTextB. SetWindowPosC. InvalidateRectD. MessageBox答案:A、B5. 在Windows编程中,以下哪些函数可以用来处理键盘输入?()A. TranslateMessageB. DispatchMessageC. PeekMessageD. GetMessage答案:A、B、C、D三、判断题(每题2分,共20分)1. 在Windows编程中,CreateWindow函数用于创建一个窗口。

Windows系统编程习题答案作者李晓黎练习题参考答案

Windows系统编程习题答案作者李晓黎练习题参考答案

第1章操作系统概述一、选择题1.A 2.D二、填空题1.程序2.数据3.MS-DOS4.用户模式5.内核模式6.Win327.POSIX8.OS/29.执行体服务10.内核11.硬件抽象层三、简答题1.答:(1)对应用程序的用户群进行分析,有些行业的用户至今还在使用Windows 98系统。

如果要为他们开发应用程序,就要考虑使用Windows 98作为开发环境。

而如果应用程序的用户是普通的家庭用户,则要考虑使用Windows XP作为开发环境。

(2)在经典的C/S结构应用程序中,服务器程序通常运行在Windows Server操作系统上,而客户端程序通常运行在Windows XP、Windows 7等兼顾家用和商用的操作系统上。

(3)从Windows XP开始,所有现在版本Windows都基于Windows NT内核。

因此,Windows系列产品具有很好的向下兼容性。

也就是说在低版本Windows上开发的应用程序通常可以稳定的运行在高版本Windows,而反之则不一定。

因此应尽可能选择满足客户需求的低版本Windows作为卡发环境。

2.答:Windows操作系统的用户模式由系统支持进程、服务进程、应用程序、环境子系统和Ntdll.dll组成。

3.答:硬件抽象层是物理硬件与计算机之间一层,设计这一层的目的是隐藏硬件中的不同。

从而为操作系统内核提供一个一致的运行平台,这样Windows就可以在不同的母板上运行而不需要修改内核。

第2章使用Visual Studio 2008开发Visual C++应用程序一、选择题1.B 2.A 3.B 4.C二、填空题1.Debug2.Release3.CObjct4.CWinThread5.CDialog三、简答题1.答:断点是程序中的一行代码,程序在运行到断点时将中断,用户可以查看变量的值,单步调试程序,对程序的运行情况进行分析。

2.答:在MFC中,可以采用文档/视图结构将应用程序中数据的存储和显示分离开来。

Windows网络编程 练习题参考答案

Windows网络编程 练习题参考答案

第1章Internet与网络通信模型概述一、选择题1.D 2.B 3.D 4.D二、填空题1.Open System Interconnection Reference Model2.开放系统互连参考模型3.协议数据单元4.PDU,Protocol Data Unit5.数据段(Segment)6.数据包(Packet)7.数据帧(Frame)8.比特(Bit)9.网络接口层10.网络层11.传输层12.应用层三、简答题1.答:OSI参考模型将网络通信的工作划分为7个层次,由低到高分别为物理层(Physical Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)和应用层(Application Layer)。

2.答:在网络通信中,发送端的自上而下的使用OSI参考模型,对应用程序要发送的信息进行逐层打包,直至在物理层将其发送到网络中;而接收端则自下而上的使用OSI参考模型,将收到的物理数据逐层解析,最后将得到的数据传送给应用程序。

当然,并不是所有的网络通信都需要经过OSI模型的全部七层。

例如,同一网段的二层交换机之间通信之需要经过数据链路层和物理层,而路由器之间的连接则只需要网络层、数据链路层和物理层即可。

在发送方封装数据的过程中,每一层都会为数据包加上一个头部;在接收方解封数据时,又会逐层解析掉这个头部。

因此,双方的通信必须在对等层次上进行,否则接收方将无法正确地解析数据。

3.答:帧的简要结构如图1.4所示。

图1.4 帧的简要结构每个字段的说明如下:●前导码,内容是16进制数0xAA,作用是使接收节点进行同步并做好接收数据帧的准备。

●帧首定界符,是10101011的二进制序列,标识帧的开始,以使接收器对实际帧的第一位定位。

●源地址和目的地址,即发送和接收数据的两端主机的MAC地址。

Windows网络编程基础-习题解答

Windows网络编程基础-习题解答

《Windows网络编程基础》习题解答第一章网络应用程序设计基础习题1.TCP/IP协议栈的五个层次是什么?在这些层次中,每层的主要任务是什么?解答:TCP/IP参考模型分为五个层次:应用层、传输层、网络层、链路层和物理层。

以下分别介绍各层的主要功能。

应用层是网络应用程序及其应用层协议存留的层次。

该层包括了所有与网络相关的高层协议,如文件传输协议(File Transfer Protocol,FTP)、超文本传输协议(Hypertext Transfer Protocol,HTTP)、Telent(远程终端协议)、简单邮件传送协议(Simple Mail Transfer Protocol,SMTP)、因特网中继聊天(Internet Relay Chat,IRC)、网络新闻传输协议(Network News Transfer Protocol,NNTP)等。

传输层的功能是使源端主机和目标端主机上的对等实体可以进行会话。

在传输层定义了两种服务质量不同的协议,即:传输控制协议(Transmission Control Protocol,TCP)和用户数据报协议(User Datagram Protocol,UDP)。

网络层是整个TCP/IP协议栈的核心。

它的功能是通过路径选择把分组发往目标网络或主机,进行网络拥塞控制以及差错控制。

链路层负责物理层和网络层之间的通信,将网络层接收到的数据分割成特定的可被物理层传输的帧,并交付物理层进行实际的数据传送。

物理层的任务是将该帧中的一个一个比特从一个节点移动到下一个节点。

该层中的协议仍然是链路相关的,并且进一步与链路(如双绞线、单模光纤)的实际传输媒体相关。

对应于不同的传输媒体,跨越这些链路移动一个比特的方式不同。

2.请分析路由器、链路层交换机和主机分别处理TCP/IP协议栈中的哪些层次?解答:路由器处理TCP/IP协议栈的物理层、链路层和网络层;链路层交换机处理TCP/IP协议栈的物理层和链路层;主机处理TCP/IP协议栈的物理层、链路层、网络层、传输层和应用层。

西安邮电大学—windows编程答案

西安邮电大学—windows编程答案

西安邮电大学—windows编程答案P21:第1章作业参考答案1-5.什么是MSDN?在Visual C++中有哪几种方法可以启动MSDN?答:MSDN是Microsoft Developer Network的简称,即微软开发者帮助网络。

MSDN帮助系统是一个HTML格式的帮助文件,它所包含的内容非常丰富,包含了有关Windows的编程原理、方法和应用实例等内容。

在Visual C++中有三种方法可以启动MSDN:1)执行Help|Contents命令;2)Search工具栏按钮;3)单击F1键快速获取相关内容的帮助:如在源文件编辑器中用光标把一个需要查询的单词全选上,或单击一条出错提示信息,按F1键出现MSDN的“索引”页面。

1-6.Visual C++中项目的含义是什么?一个项目由哪些文件组成?在Visual C++ IDE中,把实现程序设计功能的一组相互关联的C++源文件、资源文件以及支撑这些文件的类的集合称为一个项目。

项目用项目文件DSP(Developer Studio Project)来描述,文件名后缀为.dsp。

一个项目至少包含一个项目文件。

另外还包含的源文件、资源文件和其它文件。

1-10.Windows资源主要包括哪些?Visual C++ IDE提供了哪些资源编辑器?Windows资源主要包括对话框、菜单、工具条、位图、图标、字符串、快捷键等。

Visual C++ IDE提供了对话框编辑器、菜单编辑器、工具条编辑器、图像编辑器、快捷键编辑器、字符串表编辑器、版本信息编辑器等。

1-16.Build MiniBar工具栏主要完成什么功能?它与Build工具栏有何不同?Build MiniBar工具栏中主要包括了项目的、编译、链接运行和调试运行等操作命令。

它比Build工具栏少了项目名列表框和版本类别列表框。

第4章作业P167:4-1.Visual C++ IDE提供了哪些类型的程序向导?最常用的向导有哪几个?Visual C++ IDE提供了下列主要向导类型:Datebase Project:创建数据库项目MFC ActiveX Control Wizard:创建基于MFC的ActiveX控件MFC AppWizard[dll]:创建基于MFC的动态链接库MFC AppWizard[exe]:创建基于MFC的应用程序(最常用)New Database Wizard:在SQL服务器上创建一个SQL Server 数据库Win32 Application:创建Win32应用程序,可不使用MFC,采用SDK方法编程Win32 Console Application:创建DOS下的Win32控制台应用程序,采用C++或C语言进行编程Win32 Dynamic-link Library:创建Win32动态链接库,采用SDK方法Win32 Static Library:创建Win32静态链接库,采用SDK方法最常用的向导有:MFC AppWizard应用程序向导;Win32 Console Application 基于控制台的应用程序向导。

Windows网络编程基础-习题解答

Windows网络编程基础-习题解答

《Windows网络编程基础》习题解答第一章网络应用程序设计基础习题1.TCP/IP协议栈的五个层次是什么?在这些层次中,每层的主要任务是什么?解答:TCP/IP参考模型分为五个层次:应用层、传输层、网络层、链路层和物理层。

以下分别介绍各层的主要功能。

应用层是网络应用程序及其应用层协议存留的层次。

该层包括了所有与网络相关的高层协议,如文件传输协议(File Transfer Protocol,FTP)、超文本传输协议(Hypertext Transfer Protocol,HTTP)、Telent(远程终端协议)、简单邮件传送协议(Simple Mail Transfer Protocol,SMTP)、因特网中继聊天(Internet Relay Chat,IRC)、网络新闻传输协议(Network News Transfer Protocol,NNTP)等。

传输层的功能是使源端主机和目标端主机上的对等实体可以进行会话。

在传输层定义了两种服务质量不同的协议,即:传输控制协议(Transmission Control Protocol,TCP)和用户数据报协议(User Datagram Protocol,UDP)。

网络层是整个TCP/IP协议栈的核心。

它的功能是通过路径选择把分组发往目标网络或主机,进行网络拥塞控制以及差错控制。

链路层负责物理层和网络层之间的通信,将网络层接收到的数据分割成特定的可被物理层传输的帧,并交付物理层进行实际的数据传送。

物理层的任务是将该帧中的一个一个比特从一个节点移动到下一个节点。

该层中的协议仍然是链路相关的,并且进一步与链路(如双绞线、单模光纤)的实际传输媒体相关。

对应于不同的传输媒体,跨越这些链路移动一个比特的方式不同。

2.请分析路由器、链路层交换机和主机分别处理TCP/IP协议栈中的哪些层次?解答:路由器处理TCP/IP协议栈的物理层、链路层和网络层;链路层交换机处理TCP/IP协议栈的物理层和链路层;主机处理TCP/IP协议栈的物理层、链路层、网络层、传输层和应用层。

习题参考答案-Windows网络编程基础教程(第2版)-杨传栋-清华大学出版社

习题参考答案-Windows网络编程基础教程(第2版)-杨传栋-清华大学出版社

第1章习题1.选择题(1)答案:D(2)答案:C(3)答案:B(4)答案:C(5)答案:D(6)答案:B(7)答案:B(8)答案:D(9)答案:B(10)答案:B(11)答案:C2.填空题(1)答案:广播、单播(2)答案:路由器(3)答案:FF-FF-FF-FF-FF-FF(4)答案:目的计算机、广播地址(5)答案:路255.255.255.255、0.0.0.0(6)答案:目的端口号(7)答案:操作系统通信(8)答案:路操作系统的核心、函数库(9)答案:流式套接字、数据报套接字3.简答题(1)什么是网络协议?说出协议的三要素及它们的含义。

答:网络协议,就是指通信双方在通信时所必须遵循的用于控制数据传输的规则、标准和约定,是通信双方所使用的“语言”,它规定了有关功能部件在通信过程中的操作,定义了数据发送和数据接收的过程。

网络协议包括三方面内容。

一是“语法”,主要是指数据以及控制信息的结构或格式;第二方面内容是“语义”,它是指对构成协议的协议元素含义的具体解释;第三方面是“同步”,同步也称为“时序”,它规定了通信过程中各种事件的先后顺序。

(2)画出以太网帧结构示意图,并简要叙述以太网帧中各字段的含义。

答:以太网帧结构如下图所示:其中,目的地址,指明要接收该帧的计算机的MAC地址。

如果是一个广播帧,即该帧是广播给网络中的所有计算机的,目的地址应指明为广播地址。

源地址字段,用于指明发送该帧的计算机的MAC地址。

通过源地址,收到该帧的计算机就会知道是哪台计算机发送了该帧。

类型字段主要用于指明接收端对数据部分的处理方式,也就是说,接收端收到数据后,如果经过检验没发现错误,帧中的数据应该交给哪个程序处理。

数据字段,也被称为用户数据,是网络真正要传送的内容,长度在46~1500个字节之间。

校验码是接收方用来检查数据在传输过程中是否出错的,也称为帧校验序列(FCS),由发送方根据帧的其他部分的内容使用某种算法计算得到。

Windows网络编程基础-习题解答

Windows网络编程基础-习题解答

《Windows网络编程基础》习题解答第一章网络应用程序设计基础习题1.TCP/IP协议栈的五个层次是什么?在这些层次中,每层的主要任务是什么?解答:TCP/IP参考模型分为五个层次:应用层、传输层、网络层、链路层和物理层。

以下分别介绍各层的主要功能。

应用层是网络应用程序及其应用层协议存留的层次。

该层包括了所有与网络相关的高层协议,如文件传输协议(File Transfer Protocol,FTP)、超文本传输协议(Hypertext Transfer Protocol,HTTP)、Telent(远程终端协议)、简单邮件传送协议(Simple Mail Transfer Protocol,SMTP)、因特网中继聊天(Internet Relay Chat,IRC)、网络新闻传输协议(Network News Transfer Protocol,NNTP)等。

传输层的功能是使源端主机和目标端主机上的对等实体可以进行会话。

在传输层定义了两种服务质量不同的协议,即:传输控制协议(Transmission Control Protocol,TCP)和用户数据报协议(User Datagram Protocol,UDP)。

网络层是整个TCP/IP协议栈的核心。

它的功能是通过路径选择把分组发往目标网络或主机,进行网络拥塞控制以及差错控制。

链路层负责物理层和网络层之间的通信,将网络层接收到的数据分割成特定的可被物理层传输的帧,并交付物理层进行实际的数据传送。

物理层的任务是将该帧中的一个一个比特从一个节点移动到下一个节点。

该层中的协议仍然是链路相关的,并且进一步与链路(如双绞线、单模光纤)的实际传输媒体相关。

对应于不同的传输媒体,跨越这些链路移动一个比特的方式不同。

2.请分析路由器、链路层交换机和主机分别处理TCP/IP协议栈中的哪些层次?解答:路由器处理TCP/IP协议栈的物理层、链路层和网络层;链路层交换机处理TCP/IP协议栈的物理层和链路层;主机处理TCP/IP协议栈的物理层、链路层、网络层、传输层和应用层。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1章操作系统概述一、选择题1.A 2.D二、填空题1.程序2.数据3.MS-DOS4.用户模式5.内核模式6.Win327.POSIX8.OS/29.执行体服务10.内核11.硬件抽象层三、简答题1.答:(1)对应用程序的用户群进行分析,有些行业的用户至今还在使用Windows 98系统。

如果要为他们开发应用程序,就要考虑使用Windows 98作为开发环境。

而如果应用程序的用户是普通的家庭用户,则要考虑使用Windows XP作为开发环境。

(2)在经典的C/S结构应用程序中,服务器程序通常运行在Windows Server操作系统上,而客户端程序通常运行在Windows XP、Windows 7等兼顾家用和商用的操作系统上。

(3)从Windows XP开始,所有现在版本Windows都基于Windows NT内核。

因此,Windows系列产品具有很好的向下兼容性。

也就是说在低版本Windows上开发的应用程序通常可以稳定的运行在高版本Windows,而反之则不一定。

因此应尽可能选择满足客户需求的低版本Windows作为卡发环境。

2.答:Windows操作系统的用户模式由系统支持进程、服务进程、应用程序、环境子系统和Ntdll.dll组成。

3.答:硬件抽象层是物理硬件与计算机之间一层,设计这一层的目的是隐藏硬件中的不同。

从而为操作系统内核提供一个一致的运行平台,这样Windows就可以在不同的母板上运行而不需要修改内核。

第2章使用Visual Studio 2008开发Visual C++应用程序一、选择题1.B 2.A 3.B 4.C二、填空题1.Debug2.Release3.CObjct4.CWinThread5.CDialog三、简答题1.答:断点是程序中的一行代码,程序在运行到断点时将中断,用户可以查看变量的值,单步调试程序,对程序的运行情况进行分析。

2.答:在MFC中,可以采用文档/视图结构将应用程序中数据的存储和显示分离开来。

“文档”可以看作是一个应用程序的数据元素的集合;“视图”是数据的用户界面,可以通过窗口显示,也可以通过打印机打印出来。

视图可以为用户提供与文档中数据进行交互的功能。

一般情况下,采用文档/视图结构的应用程序至少应由以下对象组成:●应用程序,是CWinApp的派生对象,它充当整个应用程序的容器。

●框架窗口,是CFrameWnd派生对象。

第3章MFC用户界面设计一、选择题1.C 2.A 3.B二、填空题1.CListBox2.InsertString3.CDialog::DoModal()4.CDialog5.GetDlgItem()6.CListBox7.图标视图(Icon)、8.小图标视图(Small Icon)9.列表视图(List)10.报表视图11.UPDATE_COMMAND_UI三、操作题略第4章GDI编程一、选择题1. A 2.C 3.B 4.C 5.D6. A二、填空题1.WM_PAINT 2.COLORREF3.TextOut() 4.CFontDialog三、简答题1.答:GDI是位于应用程序与不同输出设备硬件之间的中间层,这种结构让程序员从直接处理不同硬件的工作中解放出来,把硬件间的差异交给了GDI处理,使Windows应用程序能够顺畅地在Windows支持的任何图形输出设备上运行。

设备环境(Device Context)是GDI内部维护的一些数据结构。

它与特定的输出设备相关联。

一个设备环境对应输出设备上的一块区域。

设备环境中包含一些图形属性,这些属性定义了GDI绘图函数的工作方式,例如输出文字或图形的前景和背景颜色、坐标等。

2.答:调用CreatePen()函数创建一个画笔对象。

然后使用CDC:: SelectObject()函数为设备环境选择画笔对象,就可以使用画笔对象绘图了。

第5章文件系统编程一、选择题1.C 2.B 3.D 4.A 5.B6.C二、填空题1.GetLogicalDriveStrings()2.GetDiskFreeSpaceEx()3.SHBrowseForFolder()4.CreateDirectory ()5.CFileDialog6.GetFileSize()三、简答题1.答在Visual C++中可以通过标准输入输出库、Windows API和MFC类文件编程。

标准输入输出库的可移植性较好,既可以在Windows下使用,也可以在Linux和Unix等操作系统下使用;而Windows API则只能在Windows平图台下使用;MFC类只能用于支持MFC的应用程序。

第6章Windows注册表编程一、选择题1.A 2.B 3.C 4.B二、填空题1.键2.值3.regedit.exe4.RegEnumKey()三、简答题1.答HKEY_LOCAL_MACHINE、HKEY_CURRENT_CONFIG、HKEY_CLASSES_ROOT、HKEY_USERS、HKEY_CURRENT_USER第7章进程编程一、选择题1.A 2.D 3.B二、填空题1.被创建(created)2.就绪(ready)3.运行(running)4.阻塞(blocked)5.挂起(suspend)6.终止(terminated)7.CreateProcess()8.EnumProcess()三、问答题1.答:进程是正在运行的程序的实例。

每个运行的Visual C++项目都对应一个进程,每个进程至少包含一个线程,它从main()函数开始执行,直到执行return语句返回,主线程结束,该进程也被从内存中卸载。

主线程在运行过程中还可以创建新的线程,实现多线程的功能。

计算机程序是由指令(代码)组成的,而进程则是这些指令的实际运行体。

如果多次运行一个程序,则该程序也能对应多个进程。

2.答:进程由如下几个部分组成。

●与程序相关联的可执行代码的映像;●内存空间(通常是虚拟内存中的一些区域),其中保存可执行代码、进程的特定数据、用于记录活动例程和其他事件的调用栈、用于保存实时产生的中间计算结果的堆(heap)。

●分配给进程的资源的操作系统描述符(比如文件句柄)以及其他数据资源。

●安全属性,比如进程的所有者和权限。

●处理器的状态,比如寄存器的个内容、物理内存地址等。

操作系统在叫做进程控制块(Process control block,PCB)的数据结构中保存活动进程的上述信息。

3.答:互斥体(mutex)是保证一个资源被互斥访问的机制。

所谓互斥访问即指同一时间只能有一个线程(进程)访问资源。

在进程通讯中通常使用互斥体防止运行一个应用程序的多个实例。

调用CreateMutex()函数可以创建或打开一个互斥体对象。

四、练习题略第8章多线程编程一、选择题1.A 2.D二、填空题1.CONTEXT 2.CreateThread()3.WaitForMultipleObjects() 4.CRITICAL_SECTION5.未受信(nonsignaled)6.受信(signaled)三、简答题1.答:线程是操作系统可以调度的最小执行单位,通常是将程序拆分成2个或多个并发运行的任务。

一个线程就是一段顺序程序。

但是线程不能独立运行,只能在程序中运行。

不同的操作系统实现进程和线程的方法也不同,但大多数是在进程中包含线程,Windows就是这样。

一个进程中可以存在多个线程,并且可以共享进程的资源(比如内存)。

而不同的进程之间则是不能共享资源的。

2.答:线程与进程的对比如下:●进程通常可用独立运行,而线程则是进程的子集,只能在进程运行的基础上运行。

●进程拥有独立的私有内存空间,一个进程不能访问其他进程的内存空间;而一个进程中的线程则可以共享内存空间。

●进程之间只能通过系统提供的进程间通信的机制进行通信;而现场间的通信则简单得多。

●一个进程中的线程之间切换上下文比不同进程之间切换上下文要高效得多。

第9章Windows服务编程一、选择题1.B 2.D 3.B 4.B二、填空题1.Services.msc 2.CreateService()3.StartService() 4.A TL三、简答题1.答服务控制器(Service Control Manager ,SCM)是Windows NT家族操作系统中的一个系统进程,它可以启动、停止Windows服务,并与Windows服务交流。

服务控制器对应的可执行文件是%SystemRoot%\services.exe,它以Windows控制台程序的形式运行。

在系统启动时,由Wininit进程加载。

SCM的主函数是SvcCtrlMain(),它将加载被配置为自动启动的服务列表。

第11章动态链接库编程一、选择题1.A 2.A二、填空题1.DllMain()2.LoadLibrary()3.GetProcAddress()三、简答题1.答:导入库的扩展名是*.lib,它与DLL文件同时生成,它们的名字相同,只有扩展名不同。

导入库中包含一个导入地址表(IAT,import address table)。

DLL中的每个函数都在导入地址表有一个记录。

如果在项目中引用了DLL文件,则在生成和链接可执行文件时,链接到动态链接库通常被处理为链接到导入库。

这样,可执行文件就可以通过导入库中的导入地址表知道如何调用DLL中的函数。

导入库就像一本书的目录和索引,而DLL则是书的正文。

在生成可执行文件时,可执行文件中已经包含了导入库中的导入地址表。

在运行时,还必须找到DLL文件。

可执行文件会根据导入地址表在DLL文件中调用函数。

第11章Windows钩子编程一、选择题1.A 2.B二、填空题1.WH_KEYBOARD2.SetWindowsHookEx3.UnhookWindowsHookEx()三、简答题1.答:钩子是Windows中可以拦截事件的一种机制。

可以指定一个函数作为特定类型的被拦截事件的钩子过程。

钩子过程可以对拦截的每个事件进行处理。

2.答:nCode,是钩子过程用于决定采取什么动作的钩子编码,它取决于钩子的类型。

不同类型的钩子都有相对应的一组钩子编码。

第12章WMI编程一、选择题1.A 2.A二、填空题1.root\cimv22.系统类3.核心与公共基类4.Microsoft扩展类5.TotalPhysicalMemory6.核心7.公共8.扩展9.wbemtest.exe三、简答题1.答:使用WMI技术的方式通常包括以下3种:●通过WMIC命令行工具对系统进行查询和管理。

●编写WMI脚本实现自动任务管理。

●通过C++程序接口、.NET类等方法编写应用程序获取和管理Windows操作系统中的对象信息。

相关文档
最新文档