#
include
<stdio.
h>
#
include
%dos.
h>
#
include
<stdlib.
h>
void
main(int
argc,char
**
argv)
{
union
REGS
regs:
unsiged
long
delay
delay
=
atoI(argv[1])
/
*
assume
that
there
is
an
argument
*
/
/
*
multiply
by
1
for
microsecond-granularity
delay
*
/
/
*
multiply
by
1000
for
millisecond-granularity
delay
*
/
/
*
multiply
by
1000000
for
second-granularity
delay
*
/
delay
*
=1000000
regs.
x.
ax
=
0x8600
regs.
x.
cx=
(unsigned
int
)((delay
&
0xFFFF0000L)>>16)
regs.
x.
dx
=
(unsigned
int
)
(delay
&
0xFFFF)
int86
(0x15,
&regs,
&regs)
}
上例通过DOS中断15H的86H功能来实现延时,延迟时间以微秒为单位,因此,上述延时程序认为你可能要使用一个非常大的数字,于是它分别用CX和DX寄存器来接受延时值的高16位和低16位。上述延时程序最多可以延时49.亿微妙---大约等于1.2小时。
上例假设延时值以微秒为单位,它把延时值乘以一百万,因此在命令行中可以输入以秒为单位的延时值。例如埋汪悄,“delay
10”命令将产生10秒的延时。
简单的是你在加载的程序前加上以下两句VBS脚本就能起到延时效果,也不会有什么不良后果
echo Wscript.sleep 30000 >y.vbs
call y.vbs &del y.vbs
30000是毫物毕枯秒也就是30秒
如果是让几点几分这样的运行可以at命令,但必须开
Task Scheduler这个服务才能用AT命令。
把几个命令用数闹&连接就可以说是一起执罩洞行
如果把几个命令用&&连接表示&&前的命令执行成功再执行后面的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)