Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Индикаторы клавиш Caps Lock Num Lock Scroll Lock Добавлено: 25.10.07 21:49  

Автор вопроса:  mechanical_man
Подскажите, пожалуйста: как можно программно включить индикаторы клавиш Caps Lock, Num Lock, Scroll Lock.

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 25.10.07 22:58
Наверное как и в VB6 - WinAPI.

Ответить

Номер ответа: 2
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #2
Добавлено: 25.10.07 23:02
#include <iostream>
#include <string>

#define _WIN32_WINNT 0x0500

#include <windows.h>

using namespace std;


void PressKey(WORD vk){
INPUT input;
memset(&input, 0, sizeof(input));
input.type = INPUT_KEYBOARD;
input.ki.wVk = vk;
input.ki.dwFlags = 0;
SendInput(1, &input, sizeof(input));
input.ki.dwFlags = KEYEVENTF_KEYUP;
SendInput(1, &input, sizeof(input));
}

void numlock(bool on){
SHORT nl = GetKeyState(VK_NUMLOCK);
if((nl & 1) != on) PressKey(VK_NUMLOCK);
}

void capslock(bool on){
SHORT nl = GetKeyState(VK_CAPITAL);
if((nl & 1) != on) PressKey(VK_CAPITAL);
}

void scrolllock(bool on){
SHORT nl = GetKeyState(VK_SCROLL);
if((nl & 1) != on) PressKey(VK_SCROLL);
}


int main(){
string s;
bool k[3] = {true, false, false};
int i = 0;
while(true){
k[i] = !k[i];
k[;(i+1)%3] = !k[;(i+1)%3];
i++;
numlock(k[0];);
capslock(k[1];);
scrolllock(k[2];);
Sleep(100);
}
return 0;
}

Ответить

Номер ответа: 3
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #3 Добавлено: 25.10.07 23:24
http://www.vbnet.ru/samples/download.aspx?id=710

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам