2013-06-02 4 views
0

기본적으로 활성 응용 프로그램의 8 시간 동안 4 분마다 "F2"를 눌러주는 작은 스크립트가 있습니다.타이머 표시 및 "일시 중지/다시 시작/중지"단추

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

WHO가 도움을 줄 수 없으므로 – 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를 해석 한 것입니다. 다른 프로그램에서 일하는 동안 키를 보내지 않는 방법. 중지는 일시 중지 버튼이 아직 수행하지 않는 모든 작업을 수행하지 않습니다. 또는 코드를 시작하고 중지하는 버튼 하나만으로 만들 수 있습니다. 그를 시작할 수있을만큼 충분해야합니다. –

관련 문제