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