Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Программное нажатие клавиши [D5, Win95/98]


Spider-Lex ©   (2003-01-27 08:46:00) 

Привет всем!Проблема.Нужно программно нажать клавишу(CapsLock,NumLock,ScrollLock).Благодарен.@lex.


blackman   (2003-02-02 16:45:00) [1]

Может быть так:
procedure SetNumLock(bState:Boolean);var KeyState : TKeyboardState;
begin
GetKeyboardState(KeyState);
if ( (bState) and (not ((KeyState[VK_NUMLOCK] and 1)=1) ) or ( (not (bState)) and
((KeyState[VK_NUMLOCK] and 1)=1))) then
// Simulate a key press
keybd_event(VK_NUMLOCK, $45, (KEYEVENTF_EXTENDEDKEY or 0), 0);
// Simulate a key release
keybd_event( VK_NUMLOCK, $45, (KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP), 0);
end;

Заменяйте VK_NUMLOCK на все что душе угодно


Spider-Lex   (2003-02-02 10:52:00) [2]

keybd_event(VK_CAPITAL, $45, (KEYEVENTF_EXTENDEDKEY or 0), 0);
// Simulate a key release
keybd_event(VK_CAPITAL, $45, (KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP), 0);
Не действует для NumLock-а.
Как?


MetalFan   (2003-01-29 09:05:00) [3]

Удалено модератором


MetalFan   (2003-01-29 09:03:00) [4]

Удалено модератором


MetalFan   (2003-01-28 09:54:00) [5]

Удалено модератором
Примечание: Задай СВОЙ вопрос отдельно


Akim2   (2003-01-27 09:51:00) [6]

// Из какого-то сайта, уже не помню

// Simulate a CAPS LOCK key press
keybd_event(VK_CAPITAL, $45, (KEYEVENTF_EXTENDEDKEY or 0), 0);
// Simulate a key release
keybd_event(VK_CAPITAL, $45, (KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP), 0);


Наверх

Титульная страница Поиск, карта сайта Написать письмо