0
这里一些Linux来的代码,例如:我如何开启/关闭大写锁定,滚动锁定,Num Lock键编程
void set_leds(int val)
{
int fd = open ("/dev/console", O_WRONLY);
// argument (Bit 0 - Scroll Lock, Bit 1 - Num Lock, Bit 2 - Caps lock)
ioctl (fd, KDSETLED, val);
close(fd);
}
void set_leds_sequence(unsigned char * cmdSeq, int len)
{
int i;
for (i = 0; i < len; ++i)
{
set_leds(cmdSeq[i]);
}
}
void activate(void)
{
unsigned char seq_activate[3] = {3, 5, 4};
set_leds_sequence(seq_activate, 3);
}
我怎样才能做这样的事情在Windows(C++ \ C) ?我有一种感觉,keybd_event不接近我。 在Windows上打开/关闭Caps Lock,Scroll Lock和Num Lock LEDs有没有简单的方法?
快速谷歌搜索发现这个古老的微软网页。它有VB6的说明,但你应该能够理解它:https://support.microsoft.com/en-us/kb/177674 –
从'keybd_event'文档的顶部:*注意此功能有已被取代。代替使用SendInput。*事实上,'SetKeyboardState'解释说'SendInput'是正确的方法。 – chris
seq_activate [3] = {3,5,4}; // 3 - 大写锁定和滚动锁定,5 - 滚动锁定和数字锁定\\ 在SendInput中,据我所知,不能同时发送命令以按Scroll Lock和Caps Lock。只有第一个Scroll,然后才是Caps。我可能是错的 – MaysSpirit