通过什么代码能唤醒睡眠中的计算机。解决思路

通过什么代码能唤醒睡眠中的计算机。如题。[解决办法]这个好像不太好实现吧?首先你的代码要能运行,可CPU睡觉

通过什么代码能唤醒睡眠中的计算机。
如题。

[解决办法]
这个好像不太好实现吧?
首先你的代码要能运行,可CPU睡觉中,谁来运行?
就算可以运行,CPU也应该维持在一种低功耗状态,这段代码也应该是内核级别的,windows会开放这样的接口吗?真的开放这样的接口的话,我不知道现在会有多少人的电脑会莫名其妙的打开,有多少人的信息会丢失(晚上悄悄打开你的机器,恰巧你和老婆正在。。。,又恰巧你的摄像头正对。。。,呵呵),所以我认为Windows不会这样冒天下之大不违而开放吧。
[解决办法]
鼠标和键盘唤醒是要硬件支持的,包括win7的定时唤醒也是要硬件支持的,估计在睡眠状态下操作系统已经失去了控制权,只是在睡眠前标记了一下状态。如果要实现这样的功能,恐怕还是少不了硬件的支持
[解决办法]
如果LZ的VB代码能控制BIOS的I/O,那就能完成LZ的心愿了.

[解决办法]
先看看啥是休眠和待机吧
http://www.microsoft.com/china/windowsxp/pro/using/howto/security/hibernate.mspx

Windows XP 中的电源功能功能包括“休眠”和“待机”。“休眠”将保存一份桌面及所有打开文件和文档的映像,然后关闭计算机电源。打开电源时,文件和文档就会按原来离开时的样子在桌面上打开。“待机”功能则切断所用硬件组件的电源,从而减少计算机的电源消耗。“待机”可切断外围设备、显示器甚至硬盘驱动器的电源,但会保留计算机内存的电源,以不至于丢失工作数据。 

不知道lz要求是休眠还是待机,不过不论哪种,都需要硬件支持,也就是说,lz不用幻想本机唤醒了。
[解决办法]
看着LZ不折不休的精神,特地在Win7上看了一下睡眠模式(XP上没有),Win7的帮助文件上说:
....
"唤醒睡眠中的计算机:
大多数的计算机可以通过电源按钮唤醒,部份计算机可以通过鼠标或键盘唤醒,如果不能唤醒,请咨询你的计算机的生产商..."
注意最后一句话,MS不敢保证能够唤醒所有机器,也就是说唤醒是需要硬件支持的,而且现在还有部份计算机并没有这样的硬件支持,就算有的也只不过支持定时器、电源按钮、鼠标或键盘唤醒,没有支持代码唤醒的。
好了,知道我们现在的机器要实现代码唤醒的话,还差一个代码唤醒器(假如就叫这个名字);
如果LZ想实现想要的功能,就得先把这个代码唤醒器弄出来(尽对硬件不熟,但这样的东西要弄出来其实并不难,最简单的就是A计算机运行你的VB代码,需要唤醒B计算机的时候发个唤醒指令给B机器的网卡,通过网络唤醒,呵呵,这个主意不错哦!而且现在大多数的机器都支持网络唤醒的。)
[解决办法]
如果睡眠状态时,硬件是处于一种低功耗状态,这种状态是将所有硬件都关闭,但仅留一丁点资源来检查某一个中断.

一旦这个中断产生了,那么就将硬件重新上电进入完全运行状态.

睡眠状态,没有软件在运行.

这些都是由硬件完成的,玩过单片机的低功耗模式的人都会明白.

而微软的说明中声明了并不是所有情况下都能确保成功唤醒,原因也估计是因为硬件五花八门,不敢保证完全兼容.

现在,你想通过一个仅能在硬件正常工作时运行的软件,在硬件停止工作时唤醒硬件?
[解决办法]

探讨
那么又是什么硬件支持着唤醒呢?Windows要使计算机睡觉,就一定会通过它,及既然软件Windows(尽管它是一个操作系统)能通过它,就有接口。

相反,它要唤醒计算机,也会回馈给Windows什么,或许有没有驱动级的代码,甚至是底层代码,内核代码,想法设法,我就不信除了人去动它,就没办法让他醒过来。

各位上帝啊,看在你上帝之名的份上再想想吧。或者有没有搞硬件方面的来顶一下啊,拜托~~

[解决办法]
BIOS(基本输入输出系统)指令是存储在Rom(只读存储器)中的,通常开机后cpu会从一个固定的地址(&HFFFF0,为什么是这个?只是一种设计,这个地址是在BIOS的地址范围内)开始执行指令,做一些初始化工作,如检测内存等,然后加载硬盘上的启动代码(主引导记录),由启动代码加载操作系统,把控制权交给操作系统,完毕.
注意BIOS代码的执行不需要加入内存,想想开机时系统会检测内存条是否安装及好坏,你就知道执行BIOS代码是不需要内存的了。
[解决办法]
探讨
一个固定的地址?硬盘地址?还是一个特殊的存储器的地址?我们能访问到吗(反汇编工具,调试器,诸如此类)?这段代码可以修改吗?

[解决办法]
睡眠的时候,最多就是监控一下鼠标键盘这些能唤醒睡眠的操作了。

所以,要想唤醒的话,自然还得从这个渠道走,那就去研究一下底层驱动开发,写一个鼠标/键盘的驱动,在正常的驱动行为之外加入唤醒睡眠的设置就好了(在里面是很容易根据状态得知是否是睡眠中)。然后,如果是用于正当用途,就分布让用户安装替代原来的驱动。如果是不当用途,我不说你也很熟悉那些下流的手段。
[解决办法]
探讨
恩,这也是一个思路,能给出具体怎么做吗?

[解决办法]
探讨
楼上的,你这太深奥了,我看不懂啊~~