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

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

Как нажать NumLock? [D5, Win95/98]


Spider-Lex ©   (2003-02-06 06:54:00) 

Люди!Как програмно нажать NumLock?


Song   (2003-02-06 12:22:00) [1]

keybd_event()


MARcoDEN   (2003-02-06 10:07:00) [2]

Зачем же на С? Просят же на Дельфи!

Вот:

VAR
KS: TKeyboardState;
begin
GetKeyboardState(KS);
KS[144] := KS[144] XOR 1; //Num Lock
SetKeyboardState(KS);
end;


Zev   (2003-02-06 07:27:00) [3]

//---------------------------------------------------------------------------
// NumLock вкл / выкл
//---------------------------------------------------------------------------
void __fastcall SetNumLock( bool bState )
{
TKeyboardState KeyState;
GetKeyboardState( KeyState );
if (
( ( GetKeyState( VK_NUMLOCK ) == 1 )&&( bState == true ) )||
( ( GetKeyState( VK_NUMLOCK ) == 0 )&&( bState == false ) )
)
{
// Симитируйте нажатие клавиши
keybd_event( VK_NUMLOCK, 0x45,( KEYEVENTF_EXTENDEDKEY | 0 ),0);
// Симитируйте отпуск клавиши
keybd_event( VK_NUMLOCK, 0x45,( KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP ),0);
// установить
SetKeyboardState( KeyState );
}
}
//---------------------------------------------------------------------------
// выключить
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
SetNumLock( false );
}
//---------------------------------------------------------------------------
// включить
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
SetNumLock( true );
}
//---------------------------------------------------------------------------


Наверх

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