level 6
tj051181
楼主
代码如下:==============================================================================================Const dwCapsLock = &H40,dwNumLock = &H20,dwScrollLock =&H10set objShell =CreateObject("WScript.shell")set regEx=New regExp '启动项目数组,每一个启动项目由三个部分组成,1)给出启动项目应由哪个指示灯的状态决定其是否要运行相应的程序. 2)要运行的程序'的路径.3)运行程序后的延迟时间.arStartups=Array(_dwCapsLock,"c:\WINDOWS\system32\notepad.exe",2000,_dwNumLock,"c:\windows\system32\mspaint.exe",1000,_ 'vb中没有结束行用 _ 连起来dwScrollLock,"c:\windows\system32\calc.exe",0)'利用debug命令获取capslock,numlock,scrolllock三个指示灯状态strout=objshell.exec("%comspec /c(echo d 0:417 417 & echo q)|debug").stdout.readall()regEx.Pattern="\d\d\d\d:\d\d\d\d.*(\d\d)"set colMatches=regEx.Execute(strOut)dwkeystatus=cint("&H" & colmatches(0).submatches(0))'一次根据三个指示灯的状态,运行相应的程序。然后延迟一段时间再执行下一个启动项目For i = 0 to ubound(arstrarups)-1 step 3if dwkeystatus and arstartups(i) thenobjshell.run arstartups(i+1)Wscript.sleep arstartups(i+2)end ifnext==============================================================================================对于自启动程序,windows一向来者不拒--有多少启动多少。显然这种缺乏人性化的工作方式并不能满足大家的要求。如果我们能够在开机的时候使用capslock、numlock、scrolllock这三个指示灯的键来控制要启动的程序。
2008年01月18日 15点01分
1