2013-02-24 18 views
5

Jestem całkowicie nowym użytkownikiem VB.net i próbuję uruchomić skrypt pośredni, który sprawdza, czy niektóre pliki są otwarte. Po pierwszym otwarciu sprawdza jeden konkretny program, a następnie będzie sprawdzać inny program na zegarze. kiedy uruchomić kod, Sub Timer1 nigdy nie skończy, mam to zestaw do uruchomienia co 20 sekund ..Program obsługi znaczników czasu nie działa

Imports System.Net 
Imports System.Text.RegularExpressions 

Public Class Form1 

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
     If (Process.GetProcessesByName("PROGRAM1").Length >= 1) Then 
      MessageBox.Show("This Client is already running!", "IG Error", MessageBoxButtons.OK, MessageBoxIcon.Stop) 
      Environment.Exit(0) 
     Else 
      Process.Start(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "program.exe")) 
      '''' OPEN PROGRAM ABOVE '''' 
     End If 
     For Each frm As Form In Application.OpenForms 
      frm.WindowState = FormWindowState.Minimized 
     Next frm 
    End Sub 

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick 
     If (Process.GetProcessesByName("PROGRAM2").Length >= 1) Then 'CHECK FOR PROGRAM 
      MessageBox.Show("Program is running!", "IG Error", MessageBoxButtons.OK, MessageBoxIcon.Stop) 
      Environment.Exit(0) 
      Form3.Show() 
     Else 
      MessageBox.Show("Program is not running!") 
     End If 
    End Sub 
End Class 

Powyżej znajduje się kod już mam .. mój zegar sub albo nie działa lub ISN” t sprawdzanie co 20 sekund. Jakieś pomysły?

+0

połączenia [ 'Timer.Start()'] (http://msdn.microsoft.com/en-us/library/system.windows.forms.timer.start.aspx) pierwszy lub do ' Timer.Enabled = True' – alldayremix

+0

Należy uruchomić programator. Czy uruchamiasz/włączasz timer? Jeśli tak, gdzie? – Steve

+0

Nie nazwałem tego: P Teraz zadzwoń i powiedz, czy to działa (: –

Odpowiedz

3

Typowe błędy z timerów są:

  1. Trzeba zacząć go albo timer.enabled lub timer.start.

  2. Może być konieczne zresetowanie licznika czasu w programie obsługi znaczników, w zależności od typu timera i ustawień właściwości. (Jest to kontroler timera, system.timers.timer i system.threading.timer, z których każdy jest trochę inny.)

  3. Może być konieczne chwilowe wyłączenie go w programie obsługi kleszczy, aby upewnić się, że nie ma Ponownie wejdź do programu obsługi i wywołaj problemy.

  4. Jeśli musisz poczekać, gdy uruchomiony jest timer, DUŻO lepiej użyć system.threading.thread.sleep niż pętli.

+0

był naprawdę bardzo pomocny ... powinien zostać zaakceptowany –

Powiązane problemy