我首先進入一個WinForm項目,現在我已經將應用程序類型更改爲「控制檯應用程序」,我刪除了form1.vb,將啓動對象更改爲此「Module1。 VB「,但現在我無法運行該應用程序。 以及應用程序運行,但計時器滴答聲是什麼都不做,代碼是完全一樣的,我只是做了一個變化的副主/ Form1_Load的名控制檯應用程序與計時器未運行
我做錯了什麼?
PS:我測試過,如果錯誤是在鎖定方法的條件下,並且一切都很好,問題出在ticker事件上,但我不知道爲什麼。
#Region " Vars "
Dim Running As Boolean = False
Dim Errors As Boolean = False
Dim Executable_Name As String = Nothing
Dim Toogle_Key As System.Windows.Forms.Keys = Nothing
Dim WithEvents Toogle_Key_Global As Shortcut = Nothing
Dim Executable_Timer As New Timer
Dim Lock_Timer As New Timer
Dim Lock_Interval As Int32 = 10
Dim Lock_Sleep As Int32 = Get_Milliseconds(3)
Dim Screen_Center_X As Int16 = (Screen.PrimaryScreen.Bounds.Width/2)
Dim Screen_Center_Y As Int16 = (Screen.PrimaryScreen.Bounds.Height/2)
#End Region
' Load
Sub main()
Pass_Args()
Sleep()
Lock()
End Sub
' Lock
Private Sub Lock()
If Process_Is_Running(Executable_Name) Then
AddHandler Lock_Timer.Tick, AddressOf Lock_Tick
AddHandler Executable_Timer.Tick, AddressOf Executable_Tick
Lock_Timer.Interval = Lock_Interval
Lock_Timer.Start()
Executable_Timer.Start()
Running = True
Else
Terminate()
End If
End Sub
' Lock Tick
Private Sub Lock_Tick()
Console.WriteLine("test")
If Running Then Cursor.Position = New Point(Screen_Center_X, Screen_Center_Y)
End Sub
UPDATE
我做了這些改變就像在MSDN的例子:
Dim Executable_Timer As New System.Timers.Timer
Dim Lock_Timer As New System.Timers.Timer
AddHandler Lock_Timer.Elapsed, AddressOf Lock_Tick
AddHandler Executable_Timer.Elapsed, AddressOf Executable_Tick
但週期/過去了仍無所事事......
而不去深瞭解所有的代碼。 'System.Windows.Forms.Timer'對象不能在控制檯應用程序中工作。你需要一個System.Timer – Steve
哦謝謝,但現在的問題是與滴答事件,你能告訴我這種類型的定時器是相當於什麼? – ElektroStudios
該事件被稱爲Elapsed,請參閱下面我的答案中的示例... – Steve