如题。
解决方案 »
- 继续请教数据库布尔类型更新问题?
- VB6 出现 堆栈空间溢出 ?
- 一个关于vb和access的问题
- 请教一个VB转JAVA的算法!!!密码加密的。
- 有谁知道单精度型数值format时不让它四舍五入?
- 怎么判断某个目录是否共享?
- ADO访问ACCESS,B1和B2字段差不多(B2比B1多一个字段),怎样将符合条件的纪录由B1复制到B2!
- mscomm中inputlen可以设为0吗?他的含义是什么?
- 在VB中用connection.execute調用SQL存儲過程,如何獲得存儲過程返回的值
- 请教各位:VB6.0 里有此控件吗?
- 想用VB做一个监测界面 涉及SQL数据库,请各位帮忙
- 谷歌还在2009年特别发布了针对初学者的Android Simple语言,该语言类似Basic语言
首先你的代码要能运行,可CPU睡觉中,谁来运行?
就算可以运行,CPU也应该维持在一种低功耗状态,这段代码也应该是内核级别的,windows会开放这样的接口吗?真的开放这样的接口的话,我不知道现在会有多少人的电脑会莫名其妙的打开,有多少人的信息会丢失(晚上悄悄打开你的机器,恰巧你和老婆正在,又恰巧你的摄像头正对,呵呵),所以我认为Windows不会这样冒天下之大不违而开放吧。
如果果是前者,我还用得着那么麻烦吗?如果是后者,既然我能执行鼠标模拟的代码,也就能执行所有的代码,我还是不需要那么麻烦。你说呢~~~?我也想过了,但是有谁真的实现了呢?有这样的代码就通知我一下,谢谢。
当电脑处于睡眠或待机状态,VB的程序是无法完成控制BIOS的I/O的,它根本就运行不了.
http://www.microsoft.com/china/windowsxp/pro/using/howto/security/hibernate.mspxWindows XP 中的电源功能功能包括“休眠”和“待机”。“休眠”将保存一份桌面及所有打开文件和文档的映像,然后关闭计算机电源。打开电源时,文件和文档就会按原来离开时的样子在桌面上打开。“待机”功能则切断所用硬件组件的电源,从而减少计算机的电源消耗。“待机”可切断外围设备、显示器甚至硬盘驱动器的电源,但会保留计算机内存的电源,以不至于丢失工作数据。 不知道lz要求是休眠还是待机,不过不论哪种,都需要硬件支持,也就是说,lz不用幻想本机唤醒了。
好啊,把这样的病毒发到你的电脑去,还好吗?
做点实际点的,帮忙想一下吧。或者上面的BIOS方案还可以,在还没睡面之前设置好BIOS什么时候唤醒,到时候了就唤醒,你看行不?
....
"唤醒睡眠中的计算机:
大多数的计算机可以通过电源按钮唤醒,部份计算机可以通过鼠标或键盘唤醒,如果不能唤醒,请咨询你的计算机的生产商..."
注意最后一句话,MS不敢保证能够唤醒所有机器,也就是说唤醒是需要硬件支持的,而且现在还有部份计算机并没有这样的硬件支持,就算有的也只不过支持定时器、电源按钮、鼠标或键盘唤醒,没有支持代码唤醒的。
好了,知道我们现在的机器要实现代码唤醒的话,还差一个代码唤醒器(假如就叫这个名字);
如果LZ想实现想要的功能,就得先把这个代码唤醒器弄出来(尽对硬件不熟,但这样的东西要弄出来其实并不难,最简单的就是A计算机运行你的VB代码,需要唤醒B计算机的时候发个唤醒指令给B机器的网卡,通过网络唤醒,呵呵,这个主意不错哦!而且现在大多数的机器都支持网络唤醒的。)
1、那么又是什么硬件支持着唤醒呢?
键盘、鼠标,说白了就和电源开关一样,只是安装的位置不同;定时器,说白了也就是个闹钟,想象一下,你在大街上随便买个闹钟,电子的哪种,然后把喇叭拆了,整流后接上初中课本上说的继电器,被控端接上你主机的电源开关;闹钟的时间设置端接到主机Com口,然后VB编程,通过Com口设置闹铃时间,把内存中的数据保存在硬盘上,关机!
Windows也这么干的?只不过WindowS是设置主板的闹钟!在BIOS中设置标志--"我睡觉了!",然后关机。(怎么设置?百度中输windows电源管理API)。2、“相反,它要唤醒计算机,也会回馈给Windows什么,或许有没有驱动级的代码,甚至是底层代码,内核代码”
可惜,当机器醒来时,机器不会回馈什么东西给Windows,机器还是跟往常一样,执行BIOS中的程序初始化,然后启动操作系统(windows),操作系统接管控制权后,检查先前在BIOS中设置的标志--哦!原来我是睡觉了,不是关机!于是把保存在硬盘上的数据恢复过来(真正的睡眠状态是机器会给内存维持很小的电流以保持内存中的数据,不过不要紧,Windows只不过是少了恢复这一步);
在这一系列的过程中,你发现有代码控制的地方吗?这些过程对普通人来说就是不可编程的,人家已经规定好过程了。3、“想法设法,我就不信除了人去动它,就没办法让他醒过来。”
不错,的确可以有办法让他醒过来,注意上面的开机过程没有,你想让机器自己醒来,你唯一的机会就是BIOS中的代码,修改它,并保持它的控制权(这好像和睡眠状态有点不一致),你就可以实现程序唤醒了。怎样修改?这得问问Intel他们.
4、总的来说,如果在不增加其它硬件的情况下,要想实现程序唤醒,你只能修改BIOS中的代码,并维持它的控制权(也就是得占用CPU,并使它处于低功耗状态)
说白了就是哪天Intel他们想通了(应该说发疯了),把他们的这些东西公开,那你的想法就可以实现了。
注意BIOS代码的执行不需要加入内存,想想开机时系统会检测内存条是否安装及好坏,你就知道执行BIOS代码是不需要内存的了。
A:地址是固定的,是一个存储器的地址,这个存储器叫只读存储器(ROM),一次烧好后就不能再修改,要改得换新芯片,近来的主板有用flash芯片的,可以通过软件进行更新(所谓BIOS升级,但也不是修改全部代码,而且更新软件和升级代码来自于厂商,你想用自己的代码去换也行,只要不怕主板坏),要想写芯片内代码,你得具备以下条件:
1、芯片烧写器,不同的芯片有不同的烧写器,你至少得有一个;
2、写代码的环境,汇编,调试器这些容易弄,仿真器你得有,没有的话只要不怕芯片坏和麻烦也行。你还得熟悉CPU和其它硬件的指令集
别扯Make In China和Create In China,和这东西无关,只要有需要,哪天工信部发个文件,要求Intel在中国上市的机器都要有这个功能,呵呵!技术上也不是什么难事,但人人做事都得小心;
Make In China和Create In China,哪是食肉者的事,和普通老百姓哪来的关系;
让电脑从睡梦中醒来也不是英雄好汉应该做的事,谁会希望自己的电脑莫名其妙、无声无息地打开?大概只有你吧!呵呵!
无论按鼠标键盘,电源开关,还是网卡唤醒,来电开机,MODEM唤醒之类的,无非都是给主板一个信号(某些信号主板把它定义为开机信号)。即使定时开机,也是把bios里面的时钟设定一个闹钟,到点后发出信号,也把它定义为开机信号。休眠或待机或关机情况下,CPU和内存硬盘都是不工作的,楼主可以换个角度看问题了
Dim wUp(0 To 101) As Byte '唤醒包
For i = 0 To 5
wUp(i) = &HFF '唤醒包头部6个&HFF
Next
For i = 6 To 101 '后面跟96节重复的mac
wUp(i) = CLng("&H" & txtMac(i Mod 6)) 'txtMac是含有6个Textbox的控件数组,用于输入Mac的
Next
Winsock1.RemoteHost = txtHost '广播可用255.255.255.255 或XXX.XXX.XXX.255
Winsock1.RemotePort = CLng(txtPort) '如果是外网唤醒路由要做端口映射,RemoteHost为具体地址
Winsock1.SendData wUp 'Winsock1的协议设为Udp