开机时间巧控制
?牐?1.首先,我们建立关机程序,利用Windows中的Wscript脚本程序,用记事本写入如下代码,取名为restart.vbs:
?牐燬et f=Wscript.CreateObject(“Wscript.Shell”)??
?牐爁.Run(“Rundll32.exe User.exeexitwindows”)
?牐?2.新建表单取名为window.scx,其属性设为:
?牐燘ackColor=rgb(192,192,192)
?牐燙aption=“warning”
?牐燭itleBar选择“0 - 关闭” &&关闭标题栏
?牐燱indowState选择“2 - 最大化”
?牐燬howWindow选择“2 - 作为顶层表单”
?牐燗lwaysOnTop=.t. &防止被其它对象遮档
?牐犝庋鹑司兔环ㄍü渌椒ɡ垂乇盏鼻俺绦虻脑诵小=酉吕矗赟how方法中加入如下代码:
?牐爄f val(left(time(),2))<10.or.;
?牐爒al(left(time(),2))>12.and.??
?牐爒al(left(time(),2))<19.or.??
?牐爒al(left(time(),)2))>22 &&时间的控制可自由更改
?牐燭hisForm.closec.Visible=.t.
?牐爀lse
?牐燭his.openc.Visible=.t.
?牐爀ndif
?牐?3.加入三个标签(三个标签放入中间位置就行,其中label3放下面一点),本例中其name属性分别为closec、openc、label3,相关代码如下:
?牐燱ITH ThisForm.closec
?牐?.Caption=“对不起,Windows 暂时不能启动!”
?牐?.ForeColor=rgb(255,0,0)??
?牐?.FontSize=24
?牐?.Visible=.f.
?牐燛NDWITH
?牐燱ITH Fhisform.openc
?牐?.Caption=“Open the windows……”
?牐?.ForeColor=rgb(0,0,255)??
?牐?.FontSize=24
?牐?.Visible=.t.
?牐燛NDWITH
?牐燭hisForm.label3.Caption=“5” &用于显示暂停进程
?牐燭hisForm.label3.FontSize=9
?牐?4.加入一个Timer控件timer1,其属性为:
?牐燱ITH ThisForm.timer1
?牐?.Comment='5' &&设置暂停的时间(秒)
?牐?.Enabled=.t.
?牐?.Interval=1000
?牐燛NDWITH
?牐犉銽imer事件程序如下:
?牐營f This.Comment='0'
?牐營f ThisForm.closec.Visible=.t.
?牐營f MessageBox(“关闭计算机!”)=1
?牐燙lear Events
?牐燫un Wscript d:\asm\restart.vbs &调用关机程序
?牐燛ndIf
?牐燛ndIf
?牐燙lear Events &清除事件循环
?牐燭hisForm.Release
?牐燛ndIf
?牐燭hisForm.label3.Caption=This.Comment
?牐燼=val(This.Comment)
?牐燼=a-1
?牐燭his.Comment=str(a,1)??
?牐?5.接下来保存好表单,只要创建一个主程序就行了。main.prg其代码为:
?牐燙lear all
?牐燙lose all
?牐燬et Talk Off
?牐燬et Sysmenu Off
?牐燬et Status Bar On
?牐燴oom Window Screen MAX
?牐燚o Form window.scx
?牐燫ead Events
?牐?6.新建项目文件:把window.scx,main.prg,restart.vbs加入到项目文件中,以main.prg为主文件,编译生成可执行文件,取名为window.exe。
?牐?7.把window.exe拖入到开始菜单的启动中去,就样大功告成了,如果不是开机时间,则整个屏幕显示“Windows暂时不能启动!”,过了5秒后出现一个“确定”的关机信息框,一点确定就马上关机。如果可以开机则显示“Open the windows...”,过5秒完毕。