求一个简单代码!VB定时按键!(高手必会)

求一个简单代码!VB定时按键!(高手必会),第1张

Dim a, b As Boolean '是否按下

Dim x As Integer

Private Sub Form_Load()

Timer1.Interval = 100 '0.1秒一次检查全局按键

a = False: b = False

End Sub

Private Sub Timer1_Timer()

If GetAsyncKeyState(vbKeyF1) Then '检测F1

If a = False Then

MsgBox "现在开始运行程序" '可以不用

Timer2.Interval = 1000 '1秒一次检测到没到预定时间

a = True

End If

Else

a = False

End If

If GetAsyncKeyState(vbKeyF2) Then '检测F2

If b = False Then

MsgBox "结束了````"

Timer2.Interval = 0

b = False

End If

Else

b = False

End If

End Sub

Private Sub Timer2_Timer()

If Time = "18:00:00" Then '注意你的系统时间格式是否显示的时候没有上下午(桌面右下角),如有则自己换一下(一般不用换的)

SendKeys "a" '按下a键,正如你的1键为a一样

ElseIf Time = "19:00:00" Then

SendKeys "b" '假设你的2键为b

End If

End Sub

'说明一下,简单代码我也给你做了个全局检测F1F2,不过按F2没有关闭程序,只关闭了计时器,你要是需要就自己加上关闭form1的代码,还有就是程序中说到的系统时间设置的问题,注意一下就行了.

如果想要直接开始就不管它,就去掉全局检测,直接用sendkeys就行,

```````````最后还有就是sendkeys函数时,要求你的游戏(不知道怎么说)必须获得焦点才行!如,以上代码是在18点时按下了键盘的小写a,但是如果我要求是在18点在某个游戏中按下a的话,前提当然是游戏必须是开着的.而且游戏窗口是获得焦点的```

使用定时器控件,在控件内编码!

或者使用Windows api函数

或者使用循环,利用datadiff函数

你可以把下面代码保存为vbs文件:每隔15秒就会出现一个对话框,你可以根据你的需要进行修改!

dim i,dt

dt=now()

i=0

do until i>=20

i=datediff("s",dt,now())

if i>=15 then

msgbox "采集数据"

i=0

dt=now()

end if

loop

1、是的。 2、无需什么条件。 3、可以。 4、这是对于外部变量的引用,对于内部变量则直接使用。 5、画面名称.对象.对象属性。 6、可以。 7、对于外部变量,其读写要调用其read.Write方法。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/12062462.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存