Страница: 1 | 
		
		 
			   
			 
			 
			 
			 Страница: 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-сайт:  
 Профиль |  | #2
      
Добавлено:  25.10.07 23:02
       
    
       
  
 
    
#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