标题: 限制a.vbs 的运行次数?
[打印本页]
作者: ooaf
时间: 2009-2-23 12:53
标题: 限制a.vbs 的运行次数?
每天限制a.vbs 的运行次数?
如果a.vbs 运行次数超过2,则退出。
[
Last edited by ooaf on 2009-2-23 at 13:16 ]
作者: HAT
时间: 2009-2-23 13:57
本版搜索“次数”,可以找到几个思路。
作者: 5872169
时间: 2009-2-23 16:59
for i=1 to 2…………next
这是运行二次
作者: ooaf
时间: 2009-2-23 17:13
我的意思是,a.vbs 运行结束后,再运行。 而不是重复运行2次。
如:
我把a.vbs放在启动项里,一天可能开机好几次,那么a.vbs 就会运行好几次,因此,a.vbs 每次运行时,检查 当天的运行次数,超过2就不运行。
作者: newxso
时间: 2009-2-23 18:54
在你的原代码前面加上以下一段代码:
Set WshShell=WScript.CreateObject("WScript.Shell")
Key="HKEY_CURRENT_CONFIG\Software\avbs\"
on error resume next
Last=WshShell.RegRead(Key&"Start")
a=split(Last,"\"):LastDay=a(0)
if LastDay=CStr(date()) then
b=a(1):c=a(2)
if c<>"" then
WshShell.Popup "今天内你已经运行了两次,再见! ",5,"警告!",VbExclamation
Wscript.Quit
end if
else
WshShell.RegDelete(Key&"Start")
end if
on error goto 0
if c="" then WshShell.Regwrite(Key&"Start"),date()&"\1\2"
if b="" then WshShell.Regwrite(Key&"Start"),date()&"\1"
(
RE:6楼)更新以上代码如下(没有提示):
Set WshShell=WScript.CreateObject("WScript.Shell")
num=2 '设置允许启动次数
Key="HKEY_CURRENT_CONFIG\Software\avbs\"
on error resume next
Last=WshShell.RegRead(Key&"Start")
a=split(Last,"\"):LastDay=a(0)
if LastDay=CStr(date()) then
b=cint(a(1)):if b=num then:Wscript.Quit
else
WshShell.RegDelete(Key&"Start")
end if
on error goto 0
ctr=b+1
WshShell.Regwrite(Key&"Start"),date()&"\"&ctr
[
Last edited by newxso on 2009-2-26 at 19:54 ]
作者: ooaf
时间: 2009-2-26 05:11
没有提示的
Set WshShell=WScript.CreateObject("WScript.Shell")
Key="HKEY_CURRENT_CONFIG\Software\avbs\"
on error resume next
Last=WshShell.RegRead(Key&"Start")
a=split(Last,"\"):LastDay=a(0)
if LastDay=CStr(date()) then
b=a(1):c=a(2)
if c<>"" then
a=a
Wscript.Quit
end if
else
WshShell.RegDelete(Key&"Start")
end if
on error goto 0
if c="" then WshShell.Regwrite(Key&"Start"),date()&"\1\2"
if b="" then WshShell.Regwrite(Key&"Start"),date()&"\1"
作者: ooaf
时间: 2009-2-26 10:37
谢谢,我知道了。我把提示删去,是因为我想让脚本隐藏执行。