Pregunta

Necesidad de hacer el LED del teclado (bloqueo de mayúsculas / o de Num Lock Scroll Lock LED) parpadeará, ya sea usando C # o VB.net. (Con o sin el uso de interoperabilidad está muy bien)

¿Fue útil?

Solución

En este artículo de soporte de Microsoft parece ser lo que estás buscando. En él se explica cómo cambiar el bloqueo numérico, bloqueo de mayúsculas, y desplazarse teclas de bloqueo en Visual Basic 6.

Otros consejos

Esta es la forma en C

#include <windows.h>
#define err if (GetLastError() != 0) return GetLastError();

extern "C" __declspec(dllexport) int __stdcall TurnLed(int state)
{
    DWORD tmp = 4;
    DWORD buf = (2*GetKeyState(VK_NUMLOCK) + 4*GetKeyState(VK_CAPITAL) + state)<<16;
    DefineDosDevice(DDD_RAW_TARGET_PATH, "Kbd", "\\Device\\KeyboardClass1"); err
    HANDLE kbd = CreateFile("\\\\.\\Kbd", GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING,  FILE_ATTRIBUTE_NORMAL,  NULL); err
    DeviceIoControl(kbd, CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0002, METHOD_BUFFERED, FILE_ANY_ACCESS), &buf, sizeof(buf), 0, 0, &tmp, 0); err
    DefineDosDevice(DDD_REMOVE_DEFINITION, "Kbd", 0); err
    CloseHandle(kbd); err
    return 0;
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top