2013-02-24 37 views
5

Tôi hoàn toàn mới đối với VB.net và tôi đang cố gắng chạy tập lệnh bán trung gian để kiểm tra các tệp nhất định đang mở. Khi nó lần đầu tiên mở ra, nó sẽ kiểm tra một chương trình cụ thể, sau đó nó sẽ tiếp tục kiểm tra cho một chương trình khác trên một bộ đếm thời gian .. Tuy nhiên; khi tôi chạy mã, Tiểu Timer1 không bao giờ chạy, tôi có nó thiết lập để chạy mỗi 20 giây ..Bộ đếm thời gian đánh dấu không chạy

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 

Trên đây là đoạn code tôi đã có .. hẹn giờ tôi phụ hoặc không hoạt động hoặc isn' t kiểm tra sau mỗi 20 giây. Bất kỳ ý tưởng nào?

+0

gọi trước tiên [hoặc đặt trước.] Timer.Enabled = True' – alldayremix

+0

Bộ hẹn giờ cần được khởi động. Bạn có bắt đầu/bật hẹn giờ không? Nếu có thì ở đâu? – Steve

+0

Tôi đã không gọi nó: P Ill gọi nó ngay bây giờ và cho bạn biết nếu nó hoạt động (: –

Trả lời

3

Các lỗi thường gặp với giờ là:

  1. Bạn cần bắt đầu nó với một trong hai timer.enabled hoặc timer.start.

  2. Bạn có thể cần đặt lại bộ hẹn giờ trong trình xử lý đánh dấu, tùy thuộc vào loại cài đặt bộ hẹn giờ và thuộc tính. (Có điều khiển hẹn giờ, system.timers.timer và system.threading.timer, mỗi trong số đó có một chút khác biệt.)

  3. Bạn có thể cần tắt tạm thời nó trong trình xử lý đánh dấu để đảm bảo nó không hoạt động không nhập lại trình xử lý và gây ra sự cố.

  4. Nếu bạn cần đợi trong khi bộ hẹn giờ đang chạy, tốt hơn là nên sử dụng system.threading.thread.sleep thay vì vòng lặp.

+0

thực sự rất hữu ích ... nên được chấp nhận –

Các vấn đề liên quan