我是VB.net的新手,我正在尝试运行一个半中间脚本来检查某些文件是否打开.当它第一次打开时,它会检查一个特定的程序,然后它将继续检查计时器上的不同程序.当我运行代码时,Sub Timer1永远不会运行,我将它设置为每20秒运行一次..
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
Run Code Online (Sandbox Code Playgroud)
以上是我已经拥有的代码..我的计时器子要么没有运行,要么没有每20秒检查一次.有任何想法吗?
定时器的常见错误是:
您需要使用timer.enabled 或timer.start 来启动它。
您可能需要在刻度处理程序中重置计时器,具体取决于计时器的类型和属性设置。(有计时器控件、system.timers.timer 和 system.threading.timer,每个控件都略有不同。)
您可能需要在刻度处理程序中暂时禁用它,以确保它不会重新进入处理程序并导致问题。
如果您需要在计时器运行时等待,那么使用 system.threading.thread.sleep 而不是循环要好得多。