
用户发起关机指令以后,发起关机指令的程序(调用系统函数库 user32dll中的ExitWindowsEx函数)会通知Windows子系统CSRSSEXE,CSRSSEXE收到通知以后会和WinlogonEXE做一个数据交换,接着由WinlogonEXE通知CSRSSEXE开始关闭系统的流程 。
CSRSSEXE收到WinlogonEXE的通知以后,会依次查询拥有顶层窗口的用户进程,让这些用户进程退出。如果某一个用户进程在一个默认的超时时间5000毫秒(可以通过修改注册表键值HKEY_CURRENT_USER\Cont rol Panel\Desktop\ HungAppTimeout设定超时时间)内没有退出的话,Windows会显示一个结束任务对话框用于询问用户是否结束这个任务。默认情况下将显示这个对话框并一直保持而不会自动关闭。对于控制台程序来说,基本情况类似,只不过Windows使用HK EY_CURRENT_USER\Control Panel\Desktop\ WaitToKillAppTimeout值来设置超时时间。
接着是轮到终止系统进程了(winlogonexe再次调用ExitWindowsEx关闭COM对象进程)。系统进程包括SMSSEXE、WinlogonEXE、LsassEXE等。Windows在终止系统进程的时候并不像终止用户进程那样如果无法在规定时间内终止则提示用户,而是跳过这个进程,去执行下一个系统 进程的终止 *** 作。使用的超时时间和第2步使用的时间相同。 上述3个步骤是整个Windows关机过程中最耗费时间的一段,大多数关机缓慢的原因都是因为这3个步骤引起的。完成前3个步骤以后,进入了关机 *** 作的第4个阶段,也是最后一个阶段。
WinlogonEXE调用一个原生API函数NtShutdownSystem()来命令系统执行后面的扫尾工作。在这个阶段里面,Windows执行子系统会完成最后的关机 *** 作,例如:设备驱动在这个阶段里面完成一些驱动设定的特殊 *** 作; 也是在这个阶段,配置管理系统将被修改过的注册表数据会写道磁盘里面。等除了电源管理以后的全部子系统完成退出以后,电源管理完成最后的 *** 作:如重启、关机等。
简单地说,在Windows关机时,系统做了以下工作:
1 软保护 首先先结束登录用户打开的所有程序,保存用户的设置和系统设置,然后停止系统服务和 *** 作系统大部分进程。
2 硬保护 复位硬件,如复位磁盘的磁头、停止硬件驱动程序等。
3 断电 断开主板给各硬件设备的电源。当然这步需要主板的电源管理模块支持,一般来说,ATX电源和主板都支持软断电。
在整个关机过程中,软保护是最耗时的,少则五六秒,多则上分钟。刚安装的 *** 作系统,因为未安装驱动和开启额外的系统服务,关机非常快。开启服务一多,关机就慢下来了,特别是安装了有Bug的驱动,问题可能更糟。
应该是对方计算机的超级用户名和密码之类的信息(不过好像实现不了)
如果要想实现远程计算机的关机和重启,只需要用winsock控件做一个非常简单的程序就可以了没有必要那么麻烦的
1 电脑没几分钟就自动关机怎么办
自己装不了到维修那里装。
一般自动关机可能是CPU风扇灰尘太多了导致的温度高引起的,如果是,清理一下CPU风扇和散热片的灰尘,新加散热硅脂,如果是散热风扇坏了,就换一个。如果不是这的问题,可能是主板零部件或电源的问题、电压不稳、硬盘故障、硬件超频等问题引起的,还有就是新硬件不兼容,如果自己查不出原因来建议修修去,因为自动关机不是小问题。
如果在不 *** 作的情况下自动关机或待机,可能是设置的问题。右击桌面选属性/屏幕保护程序/电源/在电源使用方案中的下拉列表中选择一项适合你的方案,在下面将关闭监视器、关闭硬盘、系统待机、这三个内容的列表中设置为“从不”按应用(或设置合适的时间)。
打开控制板面/所有控制面板项/电源选项/更改计划设置/选择关闭显示器(选从不或设置时间),选更改计算机睡眠时间,选使计算机进入睡眠状态旁边的下拉列表中选择从不或选合适的时间(Win7或Win8系统)。看看是不是上面设置引起的。
有时玩游戏、看视频或大型程序出现卡的时候也会关机的,怎么避免电脑卡的出现就会避免关机的出现。
2 为什么我电脑开机后没多少时间它会自动关机的啊
首先谈谈Windows系统自动关机的条件。
在Win98及更高版本的系统中都支持自动关机,即不通过电源的物理开关实现关机。自动关机是通过 *** 作系统支持的ACPI(Advanced Configuration and Power Interface,高级系统配置和电源管理)技术来实现的(当然ACPI的功能不仅仅是自动关机)。
ACPI是由英特尔、微软和东芝等多家公司共同开发的,可以在BIOS之上通过 *** 作系统进行电源管理。该技术要求主板控制芯片和其他I/O芯片与 *** 作系统建立标准联系通道,使 *** 作系统可以通过瞬间软电源开关(MSPS:Momentary Soft Power Switch)进行电源管理。
因此,只有在硬件(控制芯片)、电源(ATX电源)及 *** 作系统(Win98以上版本)都支持ACPI技术的前提下,自动关机才能实现。因此,为了保证自动关机的实现,在BIOS设置中,必须把“ACPI fnuction ”设置为“Enabled”;同时必须启用APM(高级电源管理)功能。
自动关机是一个比较复杂的过程,它是由系统进程Csrss和Winlogon配合并调用关机函数Shutdown Systen来完成的,这个函数进一步调用SetSystenPowerState关闭驱动程序和其它的当前执行程序子系统(如即插即用管理器、电源管理器、IO管理器 、配置管理器、内存管理器等)。此外,执行自动关机时,系统还要检查当前系统中各种外部设备的状态以及尚未关闭的应用程序的状态,处理各个数据缓冲器中的数据等。
如果在上述工作中发生错误就不能正常关机。因此一般说来在关机之前应该使各种外设停止工作,关闭所有的应用程序后再行关机。
在Windows系统中的确常常出现自动关机失败的情况,下面谈谈具体的原因和处理办法。 1 系统文件中自动关机程序有缺陷。
为了确认是否是这个原因所致,可以作下述实验。在“开始/运行”中输入命令“rundll32 userexe,exitwindows”看看能否正常关机。
如果在这个命令下可以正常关机,表示自动关机程序可能有某种缺陷,如果使用的是Win98系统,请在“开始/程序/附件/系统工具/系统信息/工具/系统文件检查器”检查系统文件的完整性和修补文件。如果采用其它系统(Me/2000/XP),也可在相应的项目中完成文件修补。
如果修补文件仍然不能解决问题,只能重新安装系统。而运行“rundll32 userexe,exitwindows”也不能正常关机,则可能是 *** 作系统中某些系统程序有缺陷,但是处理办法仍然是修补系统或者重新安装系统。
2 毒和某些有缺陷的应用程序或者系统任务有可能造成关机失败。首先查杀病毒,在关机之前关闭所有的应用程序。
由于有些应用程序是系统启动时加载的,因此可在“启动”菜单(在“开始/运行”中输入命令:“msconfig”)中逐个减去加载的程序,以便看看有无影响关机的文件(当然要重新启动之后才有生效)。 3 外设和驱动程序兼容性不好,不能响应快速关机。
可在“开始/运行”中输入命令:“msconfig”,在“常规”标签页中选择“高级”,在打开的窗口中选择“禁用快速关机”。如果怀疑外设有故障,也可以逐个卸载外设进行检查,以便找到有影响的外设。
4 如果设置了在关闭Windows时使用声音文件,当该文件被破坏时也可以造成关机失败。请在“控制面板/声音/事件”中选择“退Windows”项,把声音名称设置为“无”。
这样处理之后如果能够正常关机,则表示的确是该原因所致,可重新安装声音文件供使用。 5 在Win98自动关闭时将显示“现在可以安全地关闭计算机了”,这个内容是由Windows目录下的“logossys”文件完成的,如果这个文件损坏则不能出现上述提示,而以文本形式提示:“you can now safely turn off you puter”,这也可能造成自动关机失败,恢复该文件即可。
6 安装WinXP后不能自动关机,如排除了上述各种原因后,有可能是其控制面板中的电源选项设置不正确,请检查你的设置,保证ACPI和APM能够正常工作。也有的主板系统BIOS中的APM(高级电源管理)和Win XP之间不完全兼容(以AMI BIOS为多),因此不能自动关机。
选择关机却变成重新启动系统,在这种情况下只能手动关机了(按下电源开关保持4秒钟后放开,如果少于4秒则无效)。解决问题的根本办法是升级主板的系统BIOS,采用新的版本。
还有~ Windows无法关机 造成这个故障的原因很多,解决方法: 1) 电脑硬件的原因造成的。 主板BIOS不能很好支持ACPI,建议升级主板的BIOS,一般就可以解决。
电脑的电源质量不好导致了无法正常关机。建议换一个质量好的电源。
2) 电脑软件的原因造成的。 检查Bootlogtxt文件。
下面所列出的记录都可能造成电脑关机失败,可以根据自己电脑中启动盘根目录下的Bootlogtxt中所显示的情况,找出原因: Terminate=Query Drivers 驱动程序有问题 Terminate=Unload work 不能加载网络驱动程序冲突 Terminate=Reset Display 显卡设置或显示卡驱动程序有问题 Terminate=RIT 声卡或某些旧的鼠标驱动程序和计时器有关的问题 Terminate=WIN32 某些32位应用程序锁定了系统线程 3)检查高级电源管理(APM):打开开始|设置|控制面板|系统,再点设备管理器。展开系统设备|高级电源。
3 电脑没几分钟就自动关机怎么办
自己装不了到维修那里装。
一般自动关机可能是CPU风扇灰尘太多了导致的温度高引起的,如果是,清理一下CPU风扇和散热片的灰尘,新加散热硅脂,如果是散热风扇坏了,就换一个。如果不是这的问题,可能是主板零部件或电源的问题、电压不稳、硬盘故障、硬件超频等问题引起的,还有就是新硬件不兼容,如果自己查不出原因来建议修修去,因为自动关机不是小问题。
如果在不 *** 作的情况下自动关机或待机,可能是设置的问题。右击桌面选属性/屏幕保护程序/电源/在电源使用方案中的下拉列表中选择一项适合你的方案,在下面将关闭监视器、关闭硬盘、系统待机、这三个内容的列表中设置为“从不”按应用(或设置合适的时间)。
打开控制板面/所有控制面板项/电源选项/更改计划设置/选择关闭显示器(选从不或设置时间),选更改计算机睡眠时间,选使计算机进入睡眠状态旁边的下拉列表中选择从不或选合适的时间(Win7或Win8系统)。
看看是不是上面设置引起的。
有时玩游戏、看视频或大型程序出现卡的时候也会关机的,怎么避免电脑卡的出现就会避免关机的出现。
4 我的电脑为什么会自动关机啊
电脑自动关机一般是cpu过热造成的,你可以用鲁大师测下硬件的温度 谢谢
还有以下原因可能导致计算机自动关机
1。计算机有没有恶意程序 (当你打开某个程序时,程序自动运行某些命令,如:1bat文件里面的命令为 shutdown -s -f -t 0 运行后电脑马上关机,强制关闭所有程序)
2。有没有设置过定时关机(软件的功能)
3。看下任务计划里面有没有设置(控制面板里面有个任务计划,里面有ID0 ID1 代表有计划,空则没有任务计划)
4。温度过高 (用软件测试,优化大师,鲁大师等软件)
5。电脑打开的程序太多,电脑无法承受(开个三四个大型游戏,还有其它的)
6。看下你的内存有没有问题(这种可能性也有,会蓝屏并马上重启电脑)
暂时总结出以上原因,你对照看下,有不懂的 加QQ询问
5 电脑老自动关机怎么办
计算机电源故障所引起的计算机自动重启、无法显示、无法开机、关机变成重新启动等故障分析与解决方法:1有电源输出但开机无显示故障现象:电脑中有电源输出,但是开机无显示分析与解决:出现此故障的可能原因是POWERGOOD输入的RESET信号延迟时间不够,或POWERGOOD无输出,开机后,用电压表测量POWERGOOD的输出端,如果无+5V输出,再检查延时元器件,若有+5V则更换延时电路的延时电容即可2每次开机过程中都会自动重启故障现象:电脑在每次开机过程中都会自动重启一次,而现在是重复一次自检之后才能进入 *** 作系统分析与解决:启动时重新引导是通常是由于主板的故障而引起的,电源输出不稳定也可能造成这种原因,对这两个设备进行检查3机箱内打火同时显示器电源的指示灯闪烁故障现象:机箱内打火同时显示器电源的指示灯闪烁分析与解决:很有可能是电源的问题,因为在机箱内其他的配件都是很难产生这个问题的,这就是说说电源内部的器件损坏或短路了,所以到专业人员那里检修或更换一个新的电源4开机仅几分钟,电脑就会自动关机故障现象:电脑的配置为PENTUM3 700,微星主板,现代128MB,MAZTOR硬盘,最近大约每开机仅几分钟,电脑就会自动关机,主机,光驱及显示器上的指示灯都亮着风扇也在运转,但并无反应,只有关掉电源重新启动才能正常工作分析与解决:电源在工作一段时间后,发热会变大,而到些元器件会出现工作不稳定的情况,导致输出电流断路,所以检修电源5打开电源开关时就自动启动主机电源故障现象:电脑开机顺序颠倒了,通常情况下显示器和主机应该手工一一启动的,而在打开电源开关时就会自动启动主机电源分析与解决:很有可能是BIOS里的设置的问题造成的,这样就先进入主板的BIOS里进行设置,POSERMANAGERMENT中听一项PWERON AFRER POWERFALL选项的功能关闭就可以解决了6要把电源插头取掉再插上才可以重新启动故障现象:在离线状态下,现时查看QQ消息以及FOXMAIL中的信件时,电脑会出现突然关机的现象,这时接电源开关并没有任何的反应并且一定要把电源插头取下重新再插一次才可以重新启动分析与解决:很可能是电源的自动保护电路出了问题,检查一下市电是否稳定,另外,可以先使用另外的电源,看看是否是由于电源本身所造成的7关机过程中重启故障现象:最近在每次关机进行到屏幕出现"现在正在关机"之后,就会自动重新启动,另外,有时也出现开机后刚进入WINDOWS98就会自动重启分析与解决:这是由于WINDOWS98对能源控制功能方面有BUG,如果是这样就需要安装WINDOWS98的相关的关机补丁程序来解决这个问题,如果是刚进入WINDOWS98就重新启动则是主板有故障或是电源电流输出不当所造成的,可以在WINDOWS系统控制面板中关掉电源的高级管理8不能用机箱的电源开关来关机故障现象:我们在用机箱上的电源开关时并不能彻底地关机,而是进入休眠状态,另外软关机是正常的分析与解决:在ATX构架的电脑中,在主板BIOS电源管理中,有对机箱电源开关的设置障碍项,可以设定按下机箱上的POWER键是用来关机的,也可以设定用来进入休眠状态的,这时如果需要用POWER键来关机的话,就需要将其按下4秒钟以上不就能关机了
6 电脑不关机它自动关机 怎么办
1散热不好。
2内存原因。当内存与主板插槽接触松动时也有可能引起电脑自动关机,建议检查内存是否和主板插紧,也可换个插槽看下行不,擦擦内存条的金手指!
3看看CPU风扇架是否稳固,如坏了 或是不稳定,压不住CPU风扇,CPU风扇散热能力不足,主板的自动保护功能会自动关机,还有就是CPU风扇的螺丝松动造成的!
有可能是风扇上的灰尘太多了 导致自动关机的 把灰尘清理了就正常!
『IT精英组织』
7 电脑自动关机怎么办
1,如果是在没有进入系统时,出现自动关机,90%是硬件问题,建议送修2,若是进入系统后出现的电脑关机,建议在启动时点击F8,在点击使用最后一次的正确配置进入系统,尝试能否解决! 3,打开硬件检测软件,如主机硬件和 *** 作系统基准测试软件EVEREST Ultimate 来检测CPU温度等重要参数,一般CPU温度过高,电脑为了自我保护,就会自动关机,还有检查一下电源,它不正常,系统别想稳定工作! 4,再就是用软件查一下,看电脑上面是不是有病毒,推荐卡巴斯基诺顿,来全盘查杀!首先谈谈Windows系统自动关机的条件。
在Win98及更高版本的系统中都支持自动关机,即不通过电源的物理开关实现关机。自动关机是通过 *** 作系统支持的ACPI(Advanced Configuration and Power Interface,高级系统配置和电源管理)技术来实现的(当然ACPI的功能不仅仅是自动关机)。
ACPI是由英特尔、微软和东芝等多家公司共同开发的,可以在BIOS之上通过 *** 作系统进行电源管理。该技术要求主板控制芯片和其他I/O芯片与 *** 作系统建立标准联系通道,使 *** 作系统可以通过瞬间软电源开关(MSPS:Momentary Soft Power Switch)进行电源管理。
因此,只有在硬件(控制芯片)、电源(ATX电源)及 *** 作系统(Win98以上版本)都支持ACPI技术的前提下,自动关机才能实现。因此,为了保证自动关机的实现,在BIOS设置中,必须把“ACPI fnuction ”设置为“Enabled”;同时必须启用APM(高级电源管理)功能。
自动关机是一个比较复杂的过程,它是由系统进程Csrss和Winlogon配合并调用关机函数Shutdown Systen来完成的,这个函数进一步调用SetSystenPowerState关闭驱动程序和其它的当前执行程序子系统(如即插即用管理器、电源管理器、IO管理器 、配置管理器、内存管理器等)。此外,执行自动关机时,系统还要检查当前系统中各种外部设备的状态以及尚未关闭的应用程序的状态,处理各个数据缓冲器中的数据等。
如果在上述工作中发生错误就不能正常关机。因此一般说来在关机之前应该使各种外设停止工作,关闭所有的应用程序后再行关机。
在Windows系统中的确常常出现自动关机失败的情况,下面谈谈具体的原因和处理办法。 1 系统文件中自动关机程序有缺陷。
为了确认是否是这个原因所致,可以作下述实验。在“开始/运行”中输入命令“rundll32 userexe,exitwindows”看看能否正常关机。
如果在这个命令下可以正常关机,表示自动关机程序可能有某种缺陷,如果使用的是Win98系统,请在“开始/程序/附件/系统工具/系统信息/工具/系统文件检查器”检查系统文件的完整性和修补文件。如果采用其它系统(Me/2000/XP),也可在相应的项目中完成文件修补。
如果修补文件仍然不能解决问题,只能重新安装系统。而运行“rundll32 userexe,exitwindows”也不能正常关机,则可能是 *** 作系统中某些系统程序有缺陷,但是处理办法仍然是修补系统或者重新安装系统。
2 毒和某些有缺陷的应用程序或者系统任务有可能造成关机失败。首先查杀病毒,在关机之前关闭所有的应用程序。
由于有些应用程序是系统启动时加载的,因此可在“启动”菜单(在“开始/运行”中输入命令:“msconfig”)中逐个减去加载的程序,以便看看有无影响关机的文件(当然要重新启动之后才有生效)。 3 外设和驱动程序兼容性不好,不能响应快速关机。
可在“开始/运行”中输入命令:“msconfig”,在“常规”标签页中选择“高级”,在打开的窗口中选择“禁用快速关机”。如果怀疑外设有故障,也可以逐个卸载外设进行检查,以便找到有影响的外设。
4 如果设置了在关闭Windows时使用声音文件,当该文件被破坏时也可以造成关机失败。请在“控制面板/声音/事件”中选择“退Windows”项,把声音名称设置为“无”。
这样处理之后如果能够正常关机,则表示的确是该原因所致,可重新安装声音文件供使用。 5 在Win98自动关闭时将显示“现在可以安全地关闭计算机了”,这个内容是由Windows目录下的“logossys”文件完成的,如果这个文件损坏则不能出现上述提示,而以文本形式提示:“you can now safely turn off you puter”,这也可能造成自动关机失败,恢复该文件即可。
6 安装WinXP后不能自动关机,如排除了上述各种原因后,有可能是其控制面板中的电源选项设置不正确,请检查你的设置,保证ACPI和APM能够正常工作。也有的主板系统BIOS中的APM(高级电源管理)和Win XP之间不完全兼容(以AMI BIOS为多),因此不能自动关机。
选择关机却变成重新启动系统,在这种情况下只能手动关机了(按下电源开关保持4秒钟后放开,如果少于4秒则无效)。解决问题的根本办法是升级主板的系统BIOS,采用新的版本。
希望对你有帮助。
8 为什么我的电脑会自动关机啊
1病毒 “冲击波”病毒发作时还会提示系统将在60秒后自动启动。
木马程序从远程控制你计算机的一切活动,包括让你的计算机重新启动。 清除病毒,木马,或重装系统。
2系统文件损坏 系统文件被破坏,如Win2K下的KERNEL32DLL,Win98 FONTS目录下面的字体等系统运行时基本的文件被破坏,系统在启动时会因此无法完成初始化而强迫重新启动。 解决方法:覆盖安装或重新安装。
3定时软件或计划任务软件起作用 如果你在“计划任务栏”里设置了重新启动或加载某些工作程序时,当定时时刻到来时,计算机也会再次启动。对于这种情况,我们可以打开“启动”项,检查里面有没有自己不熟悉的执行文件或其他定时工作程序,将其屏蔽后再开机检查。
当然,我们也可以在“运行”里面直接输入“Msconfig”命令选择启动项。 二、硬件方面 1机箱电源功率不足、直流输出不纯、动态反应迟钝。
用户或装机商往往不重视电源,采用价格便宜的电源,因此是引起系统自动重启的最大嫌疑之一。 ①电源输出功率不足,当运行大型的3D游戏等占用CPU资源较大的软件时,CPU需要大功率供电时,电源功率不够而超载引起电源保护,停止输出。
电源停止输出后,负载减轻,此时电源再次启动。由于保护/恢复的时间很短,所以给我们的表现就是主机自动重启。
②电源直流输出不纯,数字电路要求纯直流供电,当电源的直流输出中谐波含量过大,就会导致数字电路工作出错,表现是经常性的死机或重启。 ③CPU的工作负载是动态的,对电流的要求也是动态的,而且要求动态反应速度迅速。
有些品质差的电源动态反应时间长,也会导致经常性的死机或重启。 ④更新设备(高端显卡/大硬盘/视频卡),增加设备(刻录机/硬盘)后,功率超出原配电源的额定输出功率,就会导致经常性的死机或重启。
解决方法:现换高质量大功率计算机电源。 2内存热稳定性不良、芯片损坏或者设置错误 内存出现问题导致系统重启致系统重启的几率相对较大。
①内存热稳定性不良,开机可以正常工作,当内存温度升高到一定温度,就不能正常工作,导致死机或重启。 ②内存芯片轻微损坏时,开机可以通过自检(设置快速启动不全面检测内存),也可以进入正常的桌面进行正常 *** 作,当运行一些I/O吞吐量大的软件(媒体播放、游戏、平面/3D绘图)时就会重启或死机。
解决办法:更换内存。 ③把内存的CAS值设置得太小也会导致内存不稳定,造成系统自动重启。
一般最好采用BIOS的缺省设置,不要自己改动。 3CPU的温度过高或者缓存损坏 ①CPU温度过高常常会引起保护性自动重启。
温度过高的原因基本是由于机箱、CPU散热不良,CPU散热不良的原因有:散热器的材质导热率低,散热器与CPU接触面之间有异物(多为质保帖),风扇转速低,风扇和散热器积尘太多等等。还有P2/P3主板CPU下面的测温探头损坏或P4 CPU内部的测温电路损坏,主板上的BIOS有BUG在某一特殊条件下测温不准,CMOS中设置的CPU保护温度过低等等也会引起保护性重启。
②CPU内部的一、二级缓存损坏是CPU常见的故障。损坏程度轻的,还是可以启动,可以进入正常的桌面进行正常 *** 作,当运行一些I/O吞吐量大的软件(媒体播放、游戏、平面/3D绘图)时就会重启或死机。
解决办法:在CMOS中屏蔽二级缓存(L2)或一级缓存(L1),或更换CPU排除。 4AGP显卡、PCI卡(网卡、猫)引起的自动重启 ①外接卡做工不标准或品质不良,引发AGP/PCI总线的RESET信号误动作导致系统重启。
②还有显卡、网卡松动引起系统重启的事例。 5 并口、串口、USB接口接入有故障或不兼容的外部设备时自动重启 ①外设有故障或不兼容,比如打印机的并口损坏,某一脚对地短路,USB设备损坏对地短路,针脚定义、信号电平不兼容等等。
②热插拔外部设备时,抖动过大,引起信号或电源瞬间短路。 6光驱内部电路或芯片损坏 光驱损坏,大部分表现是不能读盘/刻盘。
也有因为内部电路或芯片损坏导致主机在工作过程中突然重启。光驱本身的设计不良,FireWare有Bug。
也会在读取光盘时引起重启。 7机箱前面板RESET开关问题 机箱前面板RESET键实际是一个常开开关,主板上的RESET信号是+5V电平信号,连接到RESET开关。
当开关闭合的瞬间,+5V电平对地导通,信号电平降为0V,触发系统复位重启,RESET开关回到常开位置,此时RESET信号恢复到+5V电平。如果RESET键损坏,开关始终处于闭合位置,RESET信号一直是0V,系统就无法加电自检。
当RESET开关d性减弱,按钮按下去不易d起时,就会出现开关稍有振动就易于闭合。从而导致系统复位重启。
解决办法:更换RESET开关。 还有机箱内的RESET开关引线短路,导致主机自动重启。
8 主板故障 主板导致自动重启的事例很少见。一般是与RESET相关的电路有故障;插座、插槽有虚焊,接触不良;个别芯片、电容等元件损害。
三、其他原因 1市电电压不稳 ①计算机的开关电源工作电压范围一般为170V-240V,当市电电压低于170V时,计算机就会自动重启或关机。 解决方法:加稳压器(不是UPS)或130-260V的宽幅开关电源。
注销Windows也就是退出Windows(重启,关机等都一样,不都是退出的意思吗?),根据表面意思在API浏览器中输入Exit(退出)Windows,看看有没有这个API?这里提醒一下,你在查找这个API的时候还会看到ExitWindowsEX这个API,其实这两个API实现的功能一样,前者是用在16位 *** 作系统上,只不过在Win32位 *** 作系统上一般都使用ExitWindowsEX。所以这里就使用后者。API见以下:
Private Declare Function ExitWindowsEx Lib "user32" Alias "ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
看看里面的两个参数,ByVal uFlags As Long?这里我们需要传入一个整形数字,可是应该传入什么数字呢?这里说下,API中的参数可以传入不同的值,不同的值从而导致产生不同的结果。分析API中参数应该传递哪些值其实是有技巧的,以后大家只要是看到参数字符中包函Flags字符的话那就说明该参数可以被传入一个或多个标志,并且大部分都是传入API常数(什么是API常数就不用我说了吧)。说白话点,就是我们可以传入多个API常量,并且可以在API浏览器中找到,当然,不一定所有的API常数都可以在API浏览器中找到,不过大部分都可以。
在API浏览器查API常量时我前面就教过大家技巧,现在该是我们实践的时候了,分析如下:
Exit :头一个大写字符 E
Windows:头一个大写字符 W
Ex :头一个大写字符 E
组合 :EWE_
好了,现在在API浏览器的中常数中找找,咦?发现好像没有以EWE开头的常数??只发现以EWX开头的?现在先别着急,咱们回过头来再分析下,咱们是失败在最后一步Ex上,这里我不得不否决我前面教过大家的技巧,但是又不能完全否决,出现这种情况时就需要大家灵活运用API常数的分析法,可以看到EWX最后一个X是以Ex的X作结尾的,以这种方法做API常数开头的不止这一个,所以这里我特意留了一个陷阱,希望给大家带来一些经验将来能够灵活运用。现在我把关机uFlags所能用到的相关常数发上来,如下:
Private Const EWX_FORCE = 4
Private Const EWX_LOGOFF = 0
Private Const EWX_REBOOT = 2
Private Const EWX_SHUTDOWN = 1
怎么样?看得懂吧?英语稍微好一点基本上没问题。不过这里我还是要解释一番,照顾新手嘛!
EWX_FORCE 前面的 EWX_ 我就不说了,关键是看 _ 符号后面的,Force 单词翻译:强制,强迫。人工在翻译一下(我英文不好,翻译错了请别见怪,呵呵 ^_^ ),意思是说:强制执行ExitWindowsEx API关机函数。不知道这样解释你能不能明白。那到底这个常数有什么用呢?这里我们先回忆一下以前关机的时候,当Windows无法关闭某些窗口的时候就停止继续关机了,最后还得把无法关闭的窗口手动关闭方可,现在,如果我们使用这个常数进行关机,那Windows不管你窗口能不能关闭,直接强制关闭。希望你懂了。
EWX_LOGOFF 这个嘛,貌似组合单词,不可直接翻译,那样就不是那个意思了。Logout Off,是这样写吗?注销的意思。
EWX_REBOOT 不浪费时间了,直接说明意思:重新启动。
EWX_SHUTDOWN 关机。
至于第二个ByVal dwReserved As Long,为保留整形,一般为0即可。至于为什么为0,大家可以到网上下载一些专门讲解API函数的电子书看看,里面有大部分API函数的详细讲解。或者下载VSMSDN看看,在MSDN中说Windows 2000/95/98/Me中此参数忽略,XP中是指定关机消息说明。
最后看看这个API为Function声明,说明该函数有返回值,返回值为Long,MSDN中说:如果执行成功,则返回非零,否则为零。
现在上面已经把这个关机API和相关参数常量都给你分析透了,你可别告诉我你还不知道怎么写?好了,这里我们做一个定时注销程序,呵呵,虽然很简单,不过很多时候用得上哦!在Form窗口上添加Timer控件,Interval 设置为1000,Enabled 设置为 True。好了,代码如下:
Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Private Const EWX_LOGOFF = 0
Private Sub Timer1_Timer()
Static i As Integer
i = i + 1
MeCaption = i '这一步纯粹是想看看当前已经执行到几秒了?可不要
If i = 10 Then '秒数判断,可以根据自己的需要进行运算
ExitWindowsEx EWX_LOGOFF, 0
End If
End Sub
其实我都有点不想分析了,不过为了照顾大众,不得不说下,Static i As Integer 静态变量(问:啥叫静态变量?答:我晕!),i = i + 1是每执行Timer一次i就加1,Timer的interval设置为1000,1000为一秒,2000为二秒。。。。后面一个If i = 10 Then是判断当i=10以后,也就是10秒,就执行注销,这个时候你可别忘了保存好你的其它没有保存的文件哦,如果没保存资料丢失的话偶不承担任何法律责任的。其实这里我们可以自己做一个,如可以写成这样:ExitWindowsEx EWX_LOGOFF Or EWX_FORCE, 0,其中用了Or运算,整体的意思是强制Windows注销。这样理解就够了,只要能让你明白。
现在我又要说一下了,不说不行的!就是在API中使用 Or 运算,关于Or运算符VB书中都有详细解释的,别告诉我你没看?没看马上去看!上面EWX_LOGOFF Or EWX_FORCE 的使用是把 注销 和 强制 进行Or位运算,对两个数值执行按位析取,这里涉及到二进制运算,说多了你可能不明白(如果你还是想追根到底的想知道到底是怎么一回事的话,我也没办法,给个网址你慢慢看http://bookcsdnnet/bookfiles/110/1001103366shtml),我就说简单点的吧,以后如果你想组合两个API常数的功能,一般都是用 Or 进行运行的。如上面写的。
好了,保存其它文件,然后F5运行之,看着Form标题的数字慢慢添加,当为10时,Windows开始注销。。。。
①关机指令通知Windows子系统CSRSSEXE,CSRSSEXE,收到通知后会和WinlogonEXE做一个数据交换,再由WinlogonEXE通知CSRSSEXE开始关闭系统的流程。
②CSRSSEXE依次查询拥有顶层窗口的用户进程,让这些用户进程退出。
③接着开始终止系统进程。
以上3个步骤是整个Windows关机过程中最耗费时间的一段,大多数关机缓慢的原因都是因为这3个步骤引起的。
④WinlogonEXE调用NtShutdownSystem()函数来命令系统执行后面的扫尾工作,最后关机。
看来Windows关机过程还挺复杂的。而使用Ctrl键关机或是使用某些快速关机软件,并不会经过完整的四步过程,而往往是跳过前三步而直接调用NtShutdownSystem()函数进行关机的。
很多软件在运行时会将数据写入内存,在退出时再保存到文件。如果不经过前面的步骤关机,会导至程序不能正常退出而丢失数据,这样就可能因重要数据丢失造成一些意外的错误,对系统是有危害的。所以建议大家尽量不要缩短关机时间。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)