تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مشكلة في عمل Keyboard
#1
السلام عليكم


اخواني .. لقد تطرقت لعمل كيبورد في Form لاستخدامه بدلا من الكيبورد العادي


واستخدم الكود التالي لتحديد Foucsed Process او Window لكي يقوم الكيبورد الكتابة عليها


كود :
  Declare Function GetForegroundWindow Lib "user32.dll" () As Int32

    Declare Function GetWindowThreadProcessId Lib "user32.dll" ( _
        ByVal hwnd As Int32, _
        ByRef lpdwProcessId As Int32) As Int32

    Public Function GetID() As Integer
        Dim processID As Int32
        GetWindowThreadProcessId(GetForegroundWindow(), processID)

        Return Process.GetProcessById(processID).Id
    End Function


و عند ارسال KEY مثلا حرف E استخدم :

كود :
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        On Error Resume Next
       
                
        AppActivate(GetID())
        SendKeys.Send("E")


    End Sub


ولكن المشكلة هي عند تحديد الوندز المفتوحه اي Foucsed فانه يعتبر برنامجي هو المفتوح اي المحدد Foucesd


لو وضعت Textbox في برنامجي سوف يظهر حرفE في Textbox



ارجوا اني قد شرحت مشكلتي بشكل واضح ,,,,, وشكراا لكم
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم