07-09-15, 03:50 PM
السلام عليكم
اخواني .. لقد تطرقت لعمل كيبورد في 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
ارجوا اني قد شرحت مشكلتي بشكل واضح ,,,,, وشكراا لكم