以资源管理器窗口为例,说明windows系统程序窗口的一般组成

以资源管理器窗口为例,说明windows系统程序窗口的一般组成,第1张

Windows资源管理器由标题栏、菜单栏、标准按钮栏、资源管理器窗口和状态栏组成。窗口中分为左窗格和右窗格,左窗格中的树型结构显示计算机资源的组织结构,右窗格显示左窗格中选中的对象所包含的内容。

MSG所代表的意思分别是:

1、MSG指的是Windows程序中的结构体。

MSG是Windows程序中的结构体。在Windows程序中,消息是由MSG结构体来表示的。成员变量含义为第一个成员变量hwnd表示消息所属的窗口;第二个成员变量message指定了消息的标识符。

2、MSG指的是最大稳定增益。

MSG是maximum stable gain的缩写,所代表的意思是指最大稳定增益,单位是dB。

相关如下

该结构体中各成员变量的含义如下:

第一个成员变量hwnd表示消息所属的窗口。我们通常开发的程序都是窗口应用程序,一个消息一般都是与某个窗口相关联的。例如,在某个活动窗口中按下鼠标左键,产生的按键消息就是发给该窗口的。在Windows程序中,用HWND类型的变量来标识窗口。

第二个成员变量message指定了消息的标识符。在Windows中,消息是由一个数值来表示的,不同的消息对应不同的数值。但是由于数值不便于记忆,所以Windows将消息对应的数值定义为WM_XXX宏(WM是Window Message的缩写)的形式,XXX对应某种消息的英文拼写的大写形式。

提示:如果想知道WM_XXX消息对应的具体数值,可以在Visual C++开发环境中选中WM_XXX,然后单击鼠标右键,在d出菜单中选择goto definition,即可看到该宏的具体定义。跟踪或查看某个变量的定义,都可以使用这个方法。

系统保护环

Windows 95充分利用386处理器的能力,支援两个特权级。它用0和3两个特权级管理微处理器,也可称为两个环。环0中的部件是 *** 作系统的底层,如包括对低级内存储器管理的支持,环0里的软件在整个系统中功能最强,包括了几乎所有微处理器的指令,并能存取关键的数据结构,如页表等。因此环0里的软件最可靠。

Windows 95允许用户安装新的虚拟设备驱动程序(VXD),这些VXD可以支持后加的硬件或提供系统范围内的软件服务。VXD都在环0里运作,因此,如果VXD有一点差错,就会使整个系统崩溃。而如果要开发一种软件,使其能和失败的VXD分离,那将是非常困难的。

在Intel处理器中,环的过度(特权级的改变)会增加程序的运作时间,以Intel 486为例,如果没有环的过度,一个子程序调用另一个段中的代码需要20个时钟周期,有环的过度则需要69个时钟周期。这是因为当处理器的特权级变化时,处理器控制会发生变化,寄存器要重装。因此,较少的环过度意味着性能的提高,这也是Windows 95把其圆形系统的多数代码放在环3的主要原因。

32位:Windows应用程序优先装入的空间为4MB—15GB,标准开发工具也缺省地用这个空间,这主要和Windows NT相匹配。当然,用户也可以选择较低的地址空间,这时,用户需要做起额外的工作。系统为每个32位应用标记的低16KB空间不可获得,这主要是为了捕获程式的错误。许多程式常犯的错误是使用空指针,在Windows 95中,空地址将产生内存储器错误,这对开发者及时发现指针错误是有益的。

虚拟机管理器

虚拟机管理器VMM是Windows 95系统的核心,VMM的效率对整个系统的性能有着重要影响。系统中许多复杂的部件都在这里。虚拟机管理器的代码包含以下几项特性:在每个过程的私有地址空间里,32位的Windows应用程序都是抢先调度的;每个32位的应用程序有一个私有的消息队列;VXD能够动态装载和定位,减少系统的 *** 作集;许多系统资源都是按32位内存储器模式开发的,大大提高了系统能力。

Windows 95有两种基本的VM:一是系统VM,KERNEL,USER,GDI部件和Windows的应用程序都在这里;M是MS-DOS VM,运作一个MS-DOS应用程序,这个程序既能运作在虚拟8086模式,也能运作在保护模式。

支持MS-DOS应用程序

Windows支持MS-DOS应用程序,这就意味着当用户工作基于DOS的应用时,不必离开Windows 95。Windows 95软件也提供最新的MS-DOS 6X版的代码和数据。Windows 95支持单一的MS-DOS应用模式。这种模式对MS-DOS应用提供绝对的兼容性。虽然开发人员做了很大的努力,使更多的MS-DOS程序能在MS-DOS VM下运作,但这种单一的MS-DOS应用模式为那些不能在Windows下运作的MS-DOS程序提供真正的兼容性,这就是说,此模式对以前的DOS版本向下兼容。 Windows 95因MS-DOS之关系,与Windows 31的最大区别是:基于Windows的应用完全不需要MS-DOS代码支持。Windows已有许多的版本(如Windows 31,Windows for Workgroups 31,Windows 311等),每种都支持越来越多的MS-DOS INT软件服务。而且,基于Windows的应用程序在进出虚拟86模式时,对MS-DOS代码的需要也在减少。

虚拟机调度方式

Windows 95中的过程调度和虚拟机管理关系十分密切。在Windows 95中,线程是系统调度程序要处理的主要对象,也是调度的基本单元,假如用户熟悉Windows NT,就会习惯处理线程。线程的特征:

1:在过程里是一个可执行路径;

2:能够被任何32位的Windows程序或运作在Windows 95里的VXD创建;

3:有自己私有的堆叠存储器和执行价前后关系;

4:固定的过程分享存储器;

5:一个过程可以创建许多并发的线程。

调试程序

Windows 95的VMM实际上有两个调试程序,即主调度程序和时间片调度程序。前者负责并保证最高优先级的线程一直在执行;后者负责动态调整线程的优先级,以便提供合理的多任务。

首先,主调度程序先检查系统中的每一个线程,然后选择出优先级最高的线程来执行。为了与Windows NT兼容,优先级从0到31,共32级,数字越大优先级越高。同时,为了与以前的Windows版本兼容,设备驱动程序的优先级能设置成比这32级还高。比最高优先级低的线程,主调度程序不予考虑。这里,最高优先级未必是31,假如只有两个线程,优先级一个是20,一个是16,那么最高优先级就是20;如果此时又来一个优先级是21的线程,那么21就成为最高优先级。

除了纯粹的定量求优先级的值外,时间调度程序根据当前VM的状态来决定时间片的分配。假如一个VM有当前的执行焦点(典型)情况是它的视窗是显示的活动视窗,那么,它就是前台VM。当重新计算当前优先级时,调度程序就使前台的优先级提高,而其他VM作为后台考虑,继续没有升高的优先级。

系统虚拟机内的调度

所有基于Windows应用程序的线程都运作在系统VM下,它是支持多任务的唯一VM。系统VM中,一个支持16位应用的子系统,多个是支持32位的Windows应用的。在系统VM下,通常包括多个有效一的,具有相同优先级的线程,为了处理这种情况,调度程序采用Round→Robin调度策略,以确保每个线程公平分配时间片。一旦系统VM中的线程用完了给它的时间片,调度程序就把它放到了这种优先级相同的线程尾部。假如选择的线程失败地用完了分给它的时间片,那么,调度程序就把处理器交给下一个优先级相同的线程,并允许失败的线程利用时间片的剩余部分。

调度程序控制

调度程序控制有两种不同的影响,一种是它本身的一套内部算法,试图为每个线程提供一种平滑的多任务环境。“平滑”的目标是给线程提供一个合理的处理器时间,既要使它能很好地完成工作,又不能太长,以免其他线程被锁住的时间太长。另一个对调度程序的影响是VXD能够直接调用的一套系统服务。为了达到这一目的,调度程序内部采用了三种线程优先级的动态升高,定时的损耗优先级的继承。

线程的应用

Windows的设计者面临的问题之一是如何更好地处理失败的运作程序。要开发完全没有错误的软件是不可能的,因此,Windows必须能够处理应用程序中的错误。其处理过程包括两步:一是恰当地处理失败的程序,即允许用户关闭应用而不掉失数据;二是做好后续的事,除了打开档案外,应用程序都会利用和处理系统提供的资源,如内存储器段、笔、刷等。假如系统不能释放这些资源占用的内存储器,那么可以获得的资源就会减少。

大多数应用程序共有的错误都是寻址时引起的错误。这类错误是由于应用程序试图用无效的指针指向某些对象引起的。在Windows 31下就产生GP错误,用户会看到一个对话框,它提供了产生错误的程序模块的细节以及关闭错误程序的选项。

支持多消息队列

Windows程序都是事件驱动的,这种特性要求系统能提供一种由应用程序传递消息的方法。消息可由设备驱动程序、应用程序和系统发出。系统把所有硬件的初始化消息放在一个被称为原始输入队列(RawInput Queue)的数据结构中。

Windows 95支持多消息队列,这种设计的改进来自Windows NT。因为有效的消息流对好的响应时间和平滑多任务是极其重要的,而这种支持多消息队列的设计技术是关键。它能够保证系统在一个应用程序失败时不至于死锁。这种多消息队列技术称做 “异步输入”(Input Desynchronization)。在Windows 95下,经原始输入队列添加消息十分简单。系统中还有一个运作的线程,它有规律地把这消息移出队列转到各个私有应用消息队列。这种队列有两种:所有16位应用程序的单一队列和所有32位应用程序中的线程的私有队列。

API层

Win32 API是Microsoft公司的战略性系统接口,它第一次出现在Windows NT中,并把其子集Win32 API引入到Windows 31中。正是由于Win32 API的强大功能及远大前途,Windows 95也包含了Win32。Microsoft公司希望每个应用程序都是32位的,而目前许多应用程序都是16位的。因此,Windows 95的特性必须支持16位应用程序。对于Windows 95,这就意味着要有新的编译器、汇编器和连接程序来开发32位应用程序。系统自身至少必须提供32位版本的包含KERNEL、USER和GDI的Windows子系统来支持新的Win32 API。这些代码必须小、速度快、易于测试,还要有好的文档。

16/32位代码混合

代码混合技术在以前的Windows版本、OS/2和Windows NT中都已使用过,Windows 95中也用了这种技术,并解决了以下问题:

1:32位代码使用32位线性寻址,而16位代码使用16位段选择器加16位偏移量来寻址。要使代码混合使用,必须在两种寻址方式之间有一种转换。解决这个问题的方法,包含一种称为“贴瓦”i-link护的技术,即系统分配一个新的16位段选择子,它描述的存储器能覆盖此时存储器包含的参数。

2:在C语言中,基于Win32的应用中整型是32位,而在16位的应用中是16位的。当调用16位代码时,32位的整数参数必须转换成16位,返回时扩展成32位。如果参数在寄存器中,这种转换就容易些。但许多Windows函数把参数放在堆叠中。

3:返回32位值(如指针)的16位代码要用DX:AX这对寄存器,而32位代码希望返回值放入EAX寄存器中。

4:32位代码用386的SS:ESP寄存器对为堆叠寻址,而16位代码用SS:SP寄存器对。这就必须进行反复的寄存器交换,可能还要进行参数拷贝。

谓系统目录就是指 *** 作系统的主要文件存放的目录,目录中的文件直接影响到系统是否正常工作,了解这些目录的功能,相信对你更好的使用系统会有很大的帮助。以下介绍的目录若不做特殊说明,在Win9x/ME系统下,它们在Windows目录中,在Win2000系统下,他们在Winnt目录中。

All Users文件夹

『Win9x/ME』所有用户文件夹,里面里面包括系统缺省登录时的桌面文件和开始菜单的内容。

『Win2000』在Win2000的系统目录中没有这个文件夹,Win2000将用户的信息放在根目录下的Documents and Settings文件夹中,每个用户对应一个目录,包括开始菜单、桌面、收藏夹、我的文档等等。

Application Data文件夹:

『Win9x/ME』应用程序数据文件夹。包括任务栏中的快捷方式,输入法的一些文件等等。根据你系统中使用不同的软件,该目录中的内容也有所不同。

『Win2000』在Documents and Settings文件夹中,每个用户都对应一个Application Data文件夹,同样每个用户由于使用的软件不同,目录内容也相同。

Applog文件夹:

『Win9x/ME』应用程序逻辑文件目录。逻辑文件是用来记录应用软件在运行时,需要调用的文件、使用的地址等信息的文件。要查看这些文件,用记事本打开即可。

Catroot文件夹:

『Win9x』计算机启动测试信息目录,目录中包括的文件大多是关于计算机启动时检测的硬软件信息。

『WinME』该文件夹位于系统目录的system目录中。

『Win2000』该文件夹位于系统目录的system32目录中。

Command文件夹:

『Win9x/ME』DOS命令目录。包括很多DOS下的外部命令,虽说都是些小工具,但真的很好用,特别是对于系统崩溃时。

『Win2000』这些DOS命令位于系统目录的system32目录中。

Config文件夹:

『Win9x/ME/2000』配置文件夹,目录中包括一些MIDI乐器的定义文件。

Cookies文件夹:

『Win9x/ME』Cookies又叫小甜饼,是你在浏览某些网站时,留在你硬盘上的一些资料,包括用户名、用户资料、网址等等。

『Win2000』每个用户都有一个Cookies文件夹,位于Documents and Settings文件夹的每个用户目录中。

Cursors文件夹:

『Win9x/ME/2000』鼠标动画文件夹。目录中包括鼠标在不同状态下的动画文件。

Desktop文件夹:

『Win9x/ME』桌面文件夹。包括桌面上的一些图标。

『Win2000』这个文件夹在系统目录中也存在,同时在Documents and Settings文件夹的每个用户目录中还有“桌面”文件夹。

Downloaded Program Files文件夹:

『Win9x/ME/2000』下载文件文件夹。该文件夹包含显示已打开的Web页所需的文件,其中大部分文件是用来运行Web页面上的动画。

Drwatson文件夹:

『Win9x/ME/2000』华生医生文件夹。本来华生医生可以在系统发生错误时拍下系统快照,但这个目录只有一个超文本文件。

Favorites文件夹:

『Win9x/ME』收藏夹文件夹。如果需要重新安装系统,请备份这个目录,这样可以保留收藏夹中的内容。

『Win200』每个用户都有一个Favorites文件夹,位于Documents and Settings文件夹的每个用户目录中。

Fonts文件夹:

『Win9x/ME/2000』字体文件夹。在这个目录中可以添加删除字体文件,也可以删除一些不必要的文件而减少系统占用硬盘的空间。

Help文件夹:

『Win9x/ME/2000』帮助文件的文件夹,Windows有个好处就是有详细的帮助文件,这个目录里面就包括很多帮助文件,遇到问题多看看帮助文件,对你会有很大的帮助。

History文件夹:

『Win9x/ME』历史文件夹。IE浏览器有一个功能可以自己记录用户浏览过的网址,这个目录就是用来存放这些网址的。

『Win2000』每个用户的历史文件都是相互独立的。位于Documents and Settings文件夹的每个用户目录中Local Settings目录里面。

Inf文件夹:

『Win9x/ME/2000』安装文件文件夹。在安装驱动程序时,系统会提示我们指定相应的Inf文件。要使用这些文件也很简单,直接选取其右键菜单中的“安装”即可。

Java文件夹:

『Win9x/ME/2000』和JAVA相关的一些文件夹。包括Classes和Packages两个子文件夹,其中Packages中包含了一些压缩文件和一些数据文件。在Win2000中还包括Trustlib子目录。

Media文件夹:

『Win9x/ME/2000』媒体文件夹。主要包括一些声音和MIDI文件,系统启动、错误等时候发出的声音就是使用这个目录下的文件。

NetHood文件夹:

『Win9x/ME』网络覆盖目录,使用网上邻居时需要用到此目录。

『Win2000』位于Documents and Settings文件夹的每个用户目录中。

Offline Web Pages文件夹:

『WinME/2000』脱机Web页面。当某个站点设置成允许脱机使用时,相应的在这个文件夹中会有所对应。

OPTIONS文件夹:

『WinME』WinME特有的文件夹,用来存放安装文件。

Pif文件夹:

『Win9x/ME』程序信息文件目录。Pif文件是DOS程序的快捷方式。

PrintHood文件夹:

『Win9x/ME』打印覆盖目录。

Recent文件夹:

『Win9x/ME』最近打开文档文件夹。这个目录中的内容对应“开始”菜单中“文档”里面的内容。

『Win2000』位于Documents and Settings文件夹的每个用户目录中。

Samples文件夹:

『Win9x/ME』模板文件夹。主要是Windows利用脚本文件处理一些事情的范例,你可以通过记事本来查看这些范例。

SendTo文件夹:

『Win9x/ME』发送文件夹。目录中的内容对应于鼠标右键菜单中发送的内容,你可以在这里面进行添加而修改发送菜单中的项目。

『Win2000』位于Documents and Settings文件夹的每个用户目录中。

ShellNew文件夹:

『Win9x/ME/2000』新建文件夹。文件夹中的文件是对应鼠标右键菜单“新建”中文件的模板。当你选择“新建”中选择某个文件,,系统就在目录中寻找相对应的模板文件。

Spool文件夹:

『Win9x/ME』Spool文件夹中有一个Printers目录,在进行打印 *** 作时,打印所产生的转换文件就暂存于这个目录中。

Start Menu文件夹:

『Win9x/ME』开始菜单文件夹。对应开始菜单中的程序,你可以在这个目录下对开始菜单进行修改。

『Win2000』在Documents and Settings文件夹的每个用户目录中有个“「开始」菜单”目录,也是同样的功能。

Sysbckup文件夹:

『Win9x/ME』系统备份文件夹。系统会自动备份注册表以及系统文件,打包放在这个目录下,需要恢复时只需要解开文件将其覆盖会相应的目录即可。

System文件夹:

『Win9x/ME/2000』系统文件夹。系统中的重要文件都放在这个目录下,同时在安装新软件时也会向这个目录中拷贝文件。由于这里面很多文件是多个软件公用的,在删除软件时提示要删除这个目录中的文件最好选择不要删除。

System32文件夹:

『Win9x/ME/2000』32位的系统的文件夹,里面包含了许多虚拟设备文件。同样也是很重要,在对里面的文件进行删减时也要特别注意。

Tasks文件夹:

『Win9x/ME/2000』计划任务文件夹,该文件夹包含已计划的Windows任务。Windows将按照指定的时间来运行这些任务。

Temp文件夹:

『Win9x/ME/2000』临时文件目录。在系统和软件的运行过程中会产生很多临时的文件,就存放在这个目录中。定期清理这个目录中的文件,可以减少硬盘的垃圾。

Temporary Internet Files文件夹:

『Win9x/ME』IE下载文件缓冲区。使用IE浏览器浏览网页时,系统会自动将浏览过的网页内容放在这个目录中,当你再次打开相同的网页时系统会从这个目录中进行提取,这样可以加快浏览的速度。

『Win2000』每个用户都有一个Temporary Internet Files文件夹,位于Documents and Settings文件夹的每个用户目录中的Local Settings目录里面。

Web文件夹:

『Win9x/ME/2000』该文件夹中的文件主要是一些超文本模板、频道的图标和图像等等。Windows系统中一些窗口的布局也是通过这里面的文件来完成的。以前没有觉得这个目录重要,后来发现欢乐时光病毒就是通过感染这个目录中的文件来达到破坏的目的。

由于系统目录中的文件都很重要,所以在进行修改时要特别小心,如果你对系统不是太熟悉,建立你还是不要去动它们。

以上就是关于以资源管理器窗口为例,说明windows系统程序窗口的一般组成全部的内容,包括:以资源管理器窗口为例,说明windows系统程序窗口的一般组成、对讲机msg是什么意思、Windows 95的系统结构等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10218103.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存