用户发起关机指令以后,发起关机指令的程序(调用系统函数库 user32.dll中的ExitWindowsEx函数)会通知Windows子系统CSRSS.EXE,CSRSS.EXE收到通知以后会和Winlogon.EXE做一个数据交换,接着由Winlogon.EXE通知CSRSS.EXE开始关闭系统的流程 。
CSRSS.EXE收到Winlogon.EXE的通知以后,会依次查询拥有顶层窗口的用户进程,让这些用户进程退出。如果某一个用户进程在一个默认的超时时间5000毫秒(可以通过修改注册表键值HKEY_CURRENT_USER\Cont rol Panel\Desktop\ HungAppTimeout设定超时时间)内没有退出的话,Windows会显示一个结束任务对话框用于询问用户是否结束这个任务。默认情况下将显示这个对话框并一直保持而不会自动关闭。对于控制台程序来说,基本情况类似,只不过Windows使用HK EY_CURRENT_USER\Control Panel\Desktop\ WaitToKillAppTimeout值来设置超时时间。
接着是轮到终止系统进程了(winlogon.exe再次调用ExitWindowsEx关闭COM对象进程)。系统进程包括SMSS.EXE、Winlogon.EXE、Lsass.EXE等。Windows在终止系统进程的时候并不像终止用户进程那样如果无法在规定时间内终止则提示用户,而是跳过这个进程,去执行下一个系统 进程的终止 *** 作。使用的超时时间和第2步使用的时间相同。 上述3个步骤是整个Windows关机过程中最耗费时间的一段,大多数关机缓慢的原因都是因为这3个步骤引起的。完成前3个步骤以后,进入了关机 *** 作的第4个阶段,也是最后一个阶段。
Winlogon.EXE调用一个原生API函数NtShutdownSystem()来命令系统执行后面的扫尾工作。在这个阶段里面,Windows执行子系统会完成最后的关机 *** 作,例如:设备驱动在这个阶段里面完成一些驱动设定的特殊 *** 作也是在这个阶段,配置管理系统将被修改过的注册表数据会写道磁盘里面。等除了电源管理以后的全部子系统完成退出以后,电源管理完成最后的 *** 作:如重启、关机等。
简单地说,在Windows关机时,系统做了以下工作:
1. 软保护 首先先结束登录用户打开的所有程序,保存用户的设置和系统设置,然后停止系统服务和 *** 作系统大部分进程。
2. 硬保护 复位硬件,如复位磁盘的磁头、停止硬件驱动程序等。
3. 断电 断开主板给各硬件设备的电源。当然这步需要主板的电源管理模块支持,一般来说,ATX电源和主板都支持软断电。
在整个关机过程中,软保护是最耗时的,少则五六秒,多则上分钟。刚安装的 *** 作系统,因为未安装驱动和开启额外的系统服务,关机非常快。开启服务一多,关机就慢下来了,特别是安装了有Bug的驱动,问题可能更糟。
问题故障描述:打开WORD文档,提示需要宏语言VBA支持
解决方案一:word 2010
1.首先打开word选择文件--选项
2.找到信任中心--点击信任中心设置(如下图)
3.找到宏设置--信任对VBA工程对象模型的访问前面打勾确定(如下图)
解决方案二:word 2003
第1步,运行Word2003,打开Word2003窗口。在菜单栏中依次单击“工具”→“宏”→“Visual Basic 编辑器”菜单命令(如下图)
第2步,打开“Visual Basic 编辑器”窗口,在菜单栏中依次单击“插入”→“模块”菜单命令
第3步,打开模块窗口,在窗口中输入三行代码:
sub macrodm()
MsBox “my macro”
End Sub
并在菜单栏依次单击“文件”→“关闭并返回到 Microsoft Word”菜单命令。(如图一)在Word窗口中依次单击“工具”→“宏”→“安全性”菜单命令,打开“安全性”对话框。(如图二)选中“低”单选框,并单击“确定”按钮(如图三)
图一
图二
图三
第4步,保存并关闭当前的Word文件,然后再次打开该Word文件。这时将不会提示用户是否运行Word宏。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)