문제

키보드의 LED (캡 잠금 / NUM 잠금 또는 스크롤 잠금 LED)를 C# 또는 VB.NET을 사용하여 깜박이는 것이 필요합니다. (Interop을 사용하거나 사용하지 않고 괜찮습니다)

도움이 되었습니까?

해결책

이 Microsoft 지원 기사 당신이 찾고있는 것 같습니다. Visual Basic 6에서 NUM 잠금, 캡 잠금 및 스크롤 잠금 키를 전환하는 방법을 설명합니다.

다른 팁

여기에 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;
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top