الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة تجميد البرنامج عند استخدام Threading.Thread.Sleep

بدأه .-•SHEHAB•-. في 30 يناير 2014 · 0 رد · 373 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1

السلام عليكم ورحمة الله وبركاتة

تعبت من البحث عن حل لهذة المشكلة

انا قمت بعمل برنامج auto click برنامج يقوم بعمل   AppActivateومن ثم ارسال keys

 

وهذا هو الكود كامل ولكن المشكلة هيا تجمد البرنامج عند محاولة الضغط على زر stop

وايضا اختصر الكيبورد لايقاف البرنامج وهو f8 لا يعمل واكتشفت ان المشكلة من كود التاخير فهل يوكد طريقة لحل هذة المشكلة

لانى تعبت من البحث وقراة المواضيع الانجليزية بلا فائدة

وشكرا جزيلا مقدما

Public Class Form1

    Public Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Integer, ByVal dx As Integer, ByVal dy As Integer, ByVal cButtons As Integer, ByVal dwExtraInfo As Integer)
    Public Const MOUSEEVENTF_LEFTDOWN = &H2
    Public Const MOUSEEVENTF_LEFTUP = &H4
    Public Const MOUSEEVENTF_MIDDLEDOWN = &H20
    Public Const MOUSEEVENTF_MIDDLEUP = &H40
    Public Const MOUSEEVENTF_RIGHTDOWN = &H8
    Public Const MOUSEEVENTF_RIGHTUP = &H10
    Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Integer

    Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Timer1.Enabled = False
    End Sub
    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Timer1.Enabled = True
    End Sub
    Private Sub Timer1_Tick_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        On Error Resume Next

        If CheckBox1.Checked = True Then

            AppActivate("window01")
            Threading.Thread.Sleep(Time.Text)
            mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
            mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
            SendKeys.Send(TextBox1.Text)
           

            AppActivate("window02")
            Threading.Thread.Sleep(Time.Text)
            mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
            mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
            SendKeys.Send(TextBox1.Text)
           

            AppActivate("window3")
            Threading.Thread.Sleep(Time.Text)
            mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
            mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
            SendKeys.Send(TextBox1.Text)
           

        End If

        If CheckBox2.Checked = True Then

            AppActivate("window01")
            Threading.Thread.Sleep(Time.Text)
            mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
            mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
            SendKeys.Send(TextBox2.Text)
       

            AppActivate("window02")
            Threading.Thread.Sleep(Time.Text)
            mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
            mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
            SendKeys.Send(TextBox2.Text)
       

            AppActivate("window3")
            Threading.Thread.Sleep(Time.Text)
            mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
            mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
            SendKeys.Send(TextBox2.Text)
       

        End If
        If CheckBox3.Checked = True Then

            AppActivate("window01")
            Threading.Thread.Sleep(Time.Text)
            mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
            mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
            SendKeys.Send(TextBox3.Text)
     

            AppActivate("window02")
            Threading.Thread.Sleep(Time.Text)
            mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
            mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
            SendKeys.Send(TextBox3.Text)
     

            AppActivate("window3")
            Threading.Thread.Sleep(Time.Text)
            mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
            mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
            SendKeys.Send(TextBox3.Text)
          

        End If

    End Sub

Private Sub Timer2_Tick_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
Dim starthotkey As Boolean
Dim stophotkey As Boolean
starthotkey = GetAsyncKeyState(Keys.f7)
stophotkey = GetAsyncKeyState(Keys.f8)
If starthotkey = True Then
Timer1.Enabled = True
Else
End If
If stophotkey = True Then
Timer1.Enabled = False
End If
End Sub
End Class

مواضيع مشابهة