【原创】关机超级快软件-FastPowerOFF.exe。附微软关建源代码。
最新证实:快速关机-微软官方发布源代码是由MS发布的,请大家放心使用。资料来源于一本未公开发行杂志。==============
专门网的兄弟大谈“关于开关机超级快”的种种疑问,经本人对程序反编译分析后,确认是程序采用了WINDOWS NT和XP 的NtShutdownSystem和RtlAdjustPrivilege函数进行关机机制,而不是采用API函数:ExitWindows来执行的,属于微软发布的动态链接库ntdll.dll所特有未公开函数,对关机代码分析后,基本确定对电脑并无直接硬件影响和损害,最坏可以像想为停电关机一样(其实不是这个理哈),故建议友友们放心使用(但有重要文件建议保存后关机)
==============
附VB源码(熟悉VB的朋友可以自己编译下,方法:建立VB工程,加载唯一模块,不加载窗体,粘贴如下代码入模块,编译就可以生成应用程序了):
Public Declare Function RtlAdjustPrivilege& Lib "ntdll" (ByVal Privilege&, ByVal Newvalue&, ByVal NewThread&, Oldvalue&)
Public Declare Function NtShutdownSystem& Lib "ntdll" (ByVal ShutdownAction&)
Public Const SE_SHUTDOWN_PRIVILEGE& = 19
Public Const SHUTDOWN& = 0
Public Const RESTART& = 1
Public Const POWEROFF& = 2
Sub Main()
RtlAdjustPrivilege SE_SHUTDOWN_PRIVILEGE, 1, 0, 0
NtShutdownSystem SHUTDOWN'直接关机
End Sub
关机还有另外两种模式:
1、NtShutdownSystem SHUTDOWN or POWEROFF 关机且关掉电源
2、NtShutdownSystem SHUTDOWN or RESTART 关机后重新启动
==============
代码经测试,在我的机器上通过
==============
下载后要顶哟
讨论原贴:http://www.ibmnb.com/viewthread.php?tid=259503&highlight=&page=1
===============
新版本发行,4秒内可选择关机方式和取消,绿色软件,WIN XP/2000通过!
2005年7月24日更新了针对“老式电脑“关机提示的问题,将直接关机,不会提醒!请”老式电脑“用户重新下载更新!
止于2005年7月24日 AM2:15分已经下载 68次,累计68次
巧,止于2006年7月23日 PM20:23分 ,刚一年了,共计下载720次,谢谢各位网友!
[ Last edited by mqkng on 2005-8-7 at 13:08 ]
[ 本帖最后由 mqkng 于 2006-7-24 15:01 编辑 ] 关机速度快不一定对硬件有害,关机速度慢反而有害,如关机慢,硬盘哪个慢慢读写,屏幕时闪时亮的,硬盘灯快闪等,有一种心都凉的感觉,这我到觉得很有影响。
关机时间长了,其实还浪费能源呢?现在国家不是在大力建设节约型社会,关机快点,全国所有电脑都用的话(当然不可能的),可以节约很多电能的哟,对笔记本用户电池也是一种保护啊!
少用使用30秒钟,你就为国家节约30秒钟的电能哟!
[ Last edited by mqkng on 2005-7-23 at 11:26 ] 没有人关心??晕了 呵,谢谢,很早就下过了,但一直没敢用,这回可以放心用了 有关注!!谢谢xd,辛苦了;)
但“可以像想为突然停电关机一样”的话,相信有很多黑友和我一样担心这样对硬件有损害呢??
[ Last edited by kaiyuan911 on 2005-7-23 at 10:59 ] 不是说这样关机不安全吗?
会丢失数据的,电脑报也报道分析了... Originally posted by 静静心 at 2005-7-23 10:57 AM:
不是说这样关机不安全吗?
会丢失数据的,电脑报也报道分析了...
===========
关键是微软公司没有将ntdll.dll动态链接库中相关函数全部公开,而这两个NtShutdownSystem和RtlAdjustPrivilege是微软的,也就是确认了它是通过微软公司的安全验证,可能涉及到应用方面存在一定的风险,例如,没有保存数据就关机,对许多用户来说将是一种损失。再如,有些硬件应用方面(比如我们应用在专用领域的回存技术,它是要求在系统关闭前写入最后的数据值,作为二次启动递加值),就不准直接关机,特别是电源突然停电后(含UPS损坏)数据将完全损失,即递归值回零了。这样的应用,在普通用户中不是很存在的,所以微软考虑到数据安全问题,就没有这样公开这两个函数。其实还有很多函数微软都没有完全公开。
至于电脑报分析,我想,他的立足点是驱于让多数电脑用者心理实在,且遵守“常规操作”,以作到安全至上的原则来引导广大电脑用者的。
[ Last edited by mqkng on 2005-7-23 at 11:20 ] Originally posted by kaiyuan911 at 2005-7-23 10:57 AM:
有关注!!谢谢xd,辛苦了;)
但“可以像想为突然停电关机一样”的话,相信有很多黑友和我一样担心这样对硬件有损害呢??
[ Last edited by kaiyuan911 on 2005-7-23 at 10:59 ]
目前有几个因为停电,系统硬件出现了问题的,我收到和看到的报告就没有发现(但电源出现波动,如误接输入了380V动力电源,出现过硬件损坏。)因正常停电出现硬件损坏的。几乎来电后都能正常使用。 我的正常关机是5秒,再快还有意思吗? 这句话说的,叫人怎么能放心。楼主的精神值得鼓励。
可以像想为突然停电关机一样,故建议友友们放心使用
[ Last edited by yuanhen on 2005-7-23 at 13:29 ] 如果要我在稳定和快速之间作出选择的话,我选择稳定。 Originally posted by yuanhen at 2005-7-23 01:29 PM:
如果要我在稳定和快速之间作出选择的话,我选择稳定。
============
本来这个也属于快速稳定的 好主意,记得关机后拨掉电源插头就更省电了! 提个疑问,平时的关机好像要慢了N多,为什么呢,系统主要是在做什么事,硬盘也老是闪个不停啊 感谢楼主的奉献精神:)
不过,大家都那么忙么?很在乎那么几秒的关机时间么?^^? 那倒未必吧 这种叫快速关机 正常关机会保存数据 然后对每个进程发送结束的消息 这样一来当然慢了 但是要安全的多 这种关机不保存数据 直接terminal所有进程
其实 xp早就可以使用快速关机了 打开任务管理器 找到关机这一项 然后按住ctrl 再点关机 就是快速关机。
至于NtShutdownSystem 这是native api,win32 api都是调用这个native api 所以不管用谁 殊途同归 楼主探索精神可嘉,赞一个! 我只关心开机能有多快。 不知道楼主可以不可以将你写的小程序的源码贴出来,大家学习学习
很想看看呢 关注中。。 我的win2000在正常关机时,提示可以关机了,而不是自动关机,需要用手按开关才能关掉。有位DX告诉我是驱动的原因。没有把“Standard PC”改成“ACPI”。
请问:我可以用你说的这个源代码吗?怎么用?
中央处理器 Intel Celeron Coppermine Processor(0.18μm)
BIOS Award Software International, Inc. 6.00 PG
主板 693-686A
主板芯片组 VIA Technologies Inc VT82C693A Apollo Pro 133 System Controller
机子比较老了,我也不知道怎么更新。要删除原来的驱动吗?另外我也没有驱动,在网上能找到吗?谢谢! 楼上的 这是电源问题 如果你的机器硬件不支持自动关机 那是没有办法的 如果支持的话 一般安装系统的时候会自动识别正确的电源模式 楼主真是强人啊!说得东西都很专业,很感谢你的辛勤劳动。收下了,用力帮顶了。小弟只能以这种方式表达敬意了,支持你! Originally posted by GAOFHB at 2005-7-23 11:02 PM:
我的win2000在正常关机时,提示可以关机了,而不是自动关机,需要用手按开关才能关掉。有位DX告诉我是驱动的原因。没有把“Standard PC”改成“ACPI”。
请问:我可以用你说的这个源代码吗?怎么用?
中央处理 ...
===============
已经有更新版本,解决了你的问题,请重新下载,谢谢 Originally posted by my_ibm at 2005-7-23 06:38 PM:
感谢楼主的奉献精神:)
不过,大家都那么忙么?很在乎那么几秒的关机时间么?^^?
=============
现在中央第四代领导集体提出大力建设节约型社会,需要你的支持,关机快点,全国所有电脑都用的话(当然不可能的),可以节约很多电能的哟,对笔记本用户电池也是一种保护啊!
[ Last edited by mqkng on 2005-7-24 at 02:48 ] 谢谢XD的解释! 用过,确实快。 谢谢LZ问题解决了。 顶起来,顶起来