public sealed class KeyboardMonitor : NativeWindow,
IDisposable
Public NotInheritable Class KeyboardMonitor
Inherits NativeWindow
Implements IDisposable
Dim instance As KeyboardMonitor
public ref class KeyboardMonitor sealed : public NativeWindow,
IDisposable
[<SealedAttribute>]
type KeyboardMonitor =
class
inherit NativeWindow
interface IDisposable
end
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.
Public NotInheritable Class Form1 : Inherits Form
Friend WithEvents KeyLogger As New KeyboardMonitor(Me)
Public Sub New()
Me.InitializeComponent()
' Set keyboard layout to the default culture, in my case 'es-ES'.
Me.KeyLogger.Language = InputLanguage.DefaultInputLanguage.Culture.Name
' Handle text pasting operations (Ctrl+V).
Me.KeyLogger.HandlePastes = True
' Avoid raising KeyPressed event for non-relevant keys for this app example:
' Left/Right Shift, Alt, AltGr, CapsLock, NumLock, and Left/Right Win key.
Me.KeyLogger.IgnoredKeys = {Keys.ShiftKey, Keys.Menu, Keys.CapsLock, Keys.NumLock, Keys.LWin, Keys.RWin}
' Me.keyLogger.IgnoredChars = {"^"c}
' Me.keyLogger.IgnoredCharsComparer = EqualityComparer(Of Char).Default
' Me.keyLogger.IgnoredStrings = {"^^"}
' Me.keyLogger.IgnoredStringsComparer = StringComparer.OrdinalIgnoreCase
' Enable the keylogger.
Me.KeyLogger.Enabled = True
End Sub
Private Sub KeyLogger_KeyPressed(ByVal sender As Object, ByVal e As KeyPressedEventArgs) _
Handles KeyLogger.KeyPressed
Me.Label1.Text = String.Format("Device Handle: {0}", e.DeviceInfo.Handle.ToString())
Me.Label2.Text = String.Format("Device Type: {0}", e.DeviceInfo.Type)
Me.Label3.Text = String.Format("Device Name: {0}", e.DeviceInfo.Name.Replace("&", "&&"))
Me.Label4.Text = String.Format("Device Description: {0}", e.DeviceInfo.Description)
Me.Label5.Text = String.Format("Device Key:WinForms.Keys.{0}", e.DeviceInfo.Key.ToString())
Me.Label6.Text = String.Format("Devices Count: {0}", Me.KeyLogger.DeviceCount.ToString())
Select Case e.DeviceInfo.Key
Case Keys.Enter
e.DeviceInfo.Chars = ControlChars.CrLf & "{ENTER}"
Case Keys.Back
e.DeviceInfo.Chars = "{BACKSPACE}"
Case Keys.ControlKey
e.DeviceInfo.Chars = "{CTRL}"
Case Else
' ...
End Select
Me.TextBox1.Text = e.DeviceInfo.Chars
Me.TextBox2.AppendText(e.DeviceInfo.Chars)
End Sub
Private Sub KeyLogger_HotkeyPastePressed(ByVal sender As Object, ByVal e As HotkeyPastePressedEventArgs) _
Handles KeyLogger.HotkeyPastePressed
Me.TextBox2.AppendText("{INIT_PASTE}" & e.ClipboardData & "{END_PASTE}")
End Sub
Private Sub Button_Clean_Click(sender As Object, e As EventArgs) _
Handles Button1.Click
Me.TextBox2.Clear()
End Sub
Private Sub Button_Dispose_Click(ByVal sender As Object, ByVal e As EventArgs) _
Handles Button2.Click
If Me.KeyLogger IsNot Nothing Then
Me.KeyLogger.Dispose()
End If
End Sub
End Class
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.
KeyboardMonitor | Initializes a new instance of the KeyboardMonitor class. Caling this constructor causes to registers the raw input devices for the calling window. |
DeviceCount | Gets the amount of keyboard devices. |
Enabled | Gets or sets a value that determines whether the keylogger is enabled. |
Handle | Gets the handle for the window that owns this KeyboardMonitor instance. |
HandlePastes | Gets or sets a value that determines whether a paste operation (Ctrl+V) should be handled. |
IgnoredChars | Gets or sets a collection of Char to ignore from raising the KeyPressed event. |
IgnoredCharsComparer | Gets or sets the comparison behavior for IgnoredChars. |
IgnoredKeys | Gets or sets a collection of Keys to ignore from raising the KeyPressed event. |
IgnoredStrings | Gets or sets a collection of String to ignore from raising the KeyPressed event. |
IgnoredStringsComparer | Gets or sets the comparison behavior for IgnoredStrings. |
KeyboardLayoutHandle | Gets the keyboard layout handle (HKL). |
KeyboardLayoutID | Gets the keyboard layout Identifier. |
Language | Gets or sets the keyboard language. |
OwnerWindow | Gets the window that owns this KeyboardMonitor instance. |
AssignHandle | Assigns a handle to this window. (Inherited from NativeWindow) |
CreateHandle | Creates a window and its handle with the specified creation parameters. (Inherited from NativeWindow) |
CreateObjRef | Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Inherited from MarshalByRefObject) |
DefWndProc | Invokes the default window procedure associated with this window. (Inherited from NativeWindow) |
DestroyHandle | Destroys the window and its handle. (Inherited from NativeWindow) |
Dispose | Releases all the resources used by this instance. |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
GetHashCode | Serves as the default hash function. (Inherited from Object) |
GetLifetimeService | Retrieves the current lifetime service object that controls the lifetime policy for this instance. (Inherited from MarshalByRefObject) |
GetType | Gets the Type of the current instance. (Inherited from Object) |
InitializeLifetimeService | Obtains a lifetime service object to control the lifetime policy for this instance. (Inherited from MarshalByRefObject) |
ReleaseHandle | Releases the handle associated with this window. (Inherited from NativeWindow) |
ToString | Returns a string that represents the current object. (Inherited from Object) |
HotkeyPastePressed | Occurs when a paste hotkey is pressed (Ctrl+V). |
KeyPressed | Occurs when a key is pressed. |
CanConvertTo |
Determines whether the source object can be converted to the specified target type.
(Defined by ObjectExtensions) |
CanConvertToT |
Determines whether the source object can be converted to the specified target type.
(Defined by ObjectExtensions) |
ConvertToT |
Converts an object to the specified target type.
If the conversion fails, an exception is thrown.
(Defined by ObjectExtensions) |
ConvertToT |
Converts an object to the specified target type.
If the conversion fails, returns the specified default value.
(Defined by ObjectExtensions) |
IsDisposable |
Determines whether the specified object is a disposable type
(i.e., it implements IDisposable interface).
(Defined by ObjectExtensions) |
Speak |
Speaks the string representation of the source object by using the
operating system integrated text-to-speech synthesizer.
(Defined by ObjectExtensions) |
Speak |
Speaks the string representation of the source object by using the
operating system integrated text-to-speech synthesizer.
(Defined by ObjectExtensions) |
ThrowIfNullTException |
Throws the specified exception if the source object is null.
(Defined by ObjectExtensions) |