C# 또는 vb.net을 사용하여 키보드 LED를 깜박이는 방법
문제
키보드의 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;
}
제휴하지 않습니다 StackOverflow