السلام وعليكم اخواني كيف الحال :)
في البداية ارجوا ان تعذروني لاني انزل اسئلة كثيرة وخصوصاً حول keylogger وارجوا ان تتحملونني :blush:
لدي مشكلة خطيرة وهي :
لقد قمت بصناعة برنامج keylogger والحمد لله يعمل جيداً ويجلب لي ايضاً حالة المفاتيح في اي نافذة نشطة واي لغة كانت ولكن المشكلة انه عندما افتح صفحة ويب للاسف لا يجلب لي حالة اللغة في تلك الصفحة ؟؟؟ :wacko: وهذه مشكلة خطيرة حيث برنامج يجب ان يراقب المفاتيح جيداً وباي لغة كانت :sad:
وهذا الكود هو يوضح العمل الذي قمت به وهو فقط يوضح كيف يجلب حالة اللغة في النافذة النشطة
Public Class Form1
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Integer, ByVal lpdwProcessId As Integer) As Integer
Private Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As Integer) As Integer
Private Declare Function GetForegroundWindow Lib "user32" () As IntPtr
Private Function GetActiveWindowLayout() As String
Dim hwnd As Integer = GetForegroundWindow()
Dim intTemp As Integer = 0
Dim activeWindowThreadId As Integer = GetWindowThreadProcessId(hwnd, intTemp)
Dim currentHKL As Integer = GetKeyboardLayout(activeWindowThreadId)
currentHKL = currentHKL + 65535
Dim strOutput = String.Format("{0:X}", currentHKL)
While (strOutput.Length < 8)
strOutput = "0" + strOutput
End While
Return strOutput
End Function
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Interval = 10
Timer1.Start()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label1.Text = GetActiveWindowLayout()
End Sub
End Classارجوا ان تفيدونني وشكراً


