显示计时器以及"暂停/恢复/停止"按键

时间:2013-06-02 03:44:30

标签: vb.net vba vbscript vb6

我有一个小的代码,基本上每4分钟为我按一下“F2”,持续8小时的活动应用程序。

它的工作原理非常基础,因为我的VB技能非常有限。

我现在想到了项目的新成员,但不知道是否有可能或如何解决它。

我基本上希望有一个显示计时器的小窗口以及暂停和恢复和停止按钮。如果我可以将这些按钮好像在另一个应用程序中那样,那将是一个巨大的优势,我不想按下F2按钮。

这就是我所拥有的:

Dim WshShell

Set WshShell = CreateObject("WScript.Shell")

dim ti
ti=timer

Do

WshShell.SendKeys "{F2}"

For AA = 1 To 9

  IF AA = 8 Then BB = "in  30 seconds"
  IF AA = 9 Then BB = "now !"

WScript.Sleep 30000

Dim oShell
Set oShell= CreateObject("Wscript.Shell")
IF AA = 8 OR AA = 9 Then oShell.Popup " Refresh ... " & BB & " ",2,"Remind"

Next 

Loop while (timer-ti)<8*60*60

MsgBox "VB End: " & Time()

谢谢

1 个答案:

答案 0 :(得分:1)

好的,只是一个高级答案,因为它已经很晚了,我要去睡觉了。

在表单上,​​放置一个计时器控件。将其设置为1000区间(1秒) 放置你的开始&amp;暂停按钮。
这是运行它的代码。

Dim IsRunning As Boolean

Private Sub cmdPause_Click()
    IsRunning = False
End Sub

Private Sub cmdStart_Click()
    IsRunning = True
End Sub

Private Sub Timer1_Timer()
    Static LastTime As Date
    If IsRunning Then
        If DateDiff("n", lastdate, Now()) >= 4 Then
            'sendkeys
            LastTime = Now()
        End If
    End If
End Sub

IsRunning 变量在任何过程之外,称为共享变量。此表单中的任何过程都可以看到它。开始&amp;暂停按钮将其值转换为true或false。

计时器事件将每秒运行一次。在这里,我们检查IsRunning是否为真,以及4分钟是否已过期。如果是这样,那么你可以运行你的sendkeys。