2013-06-02 74 views
0

我有一个小的脚本,基本上每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() 

谢谢

+0

因为我不确定世卫组织可以协助; – Haissam

回答

1

OK,只是一个高层次的答案,因为它是晚,我去睡觉了。

在窗体上放置一个计时器控件。将其设置为1000个间隔(1秒)。
也可以将您的开始&暂停按钮。
下面是运行它的代码。

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变量是任何过程之外,并且被称为共享变量。本表格中的任何程序都可以看到它。开始&暂停按钮将其值设为true或false。

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

+0

暂停不会真的做任何事情,除非延迟'直到开始再次点击sendkeys。然而,目前还不清楚Haissam想要什么来实现。这可能是我会走的路线。 – djv

+0

这就是我解释OP想要的。在另一个程序中工作时不要发送密钥的方法。停止按钮不会做任何暂停按钮。或者只需一个按钮即可启动和停止代码。这应该足以让他开始。 –

相关问题