Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.04.2009, 18:07   #1
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию Не включается Num Lock

Проблемы при включении Num Lock`а:
Пробовал и так:
Код:
Keybd_event(VK_NUMLOCK, 0, 0, 0);
И так:
Код:
GetKeyboardState(KeyState);
if (KeyState[VK_NUMLOCK] = 0) then
KeyState[VK_NUMLOCK] := 1;
Результат тот же. НЕ ВКЛЮЧАЕТСЯ!
А мне обязательно нужно включить Num Lock при включении формы.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 30.04.2009, 19:00   #2
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Переписал код на FormCreate и первый вариант теперь работает, но если Num был включен до запуска, то он выключается. Как сделать, что бы он при запуске формы был включен?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 30.04.2009, 19:02   #3
Лукманов Александр
работа не волк....
Форумчанин
 
Аватар для Лукманов Александр
 
Регистрация: 09.06.2008
Сообщений: 337
По умолчанию

с какого то сайта -
Код:
var
  abKeyState: array [0..255] of byte;
begin
  GetKeyboardState( Addr( abKeyState[ 0 ] ) );
  abKeyState[ VK_NUMLOCK ] := abKeyState[ VK_NUMLOCK ] or $01;
  SetKeyboardState( Addr( abKeyState[ 0 ] ) );
end;
Цель, для которой требуются неправые средства, не есть неправая цель.
Лукманов Александр вне форума Ответить с цитированием
Старый 30.04.2009, 19:02   #4
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Можете включить так:
Код:
Function NumState: String;
Begin
If Odd(GetKeyState(VK_NUMLOCK)) Then
NumState:='Включён'
Else
NumState:='Выключен';
End;

Procedure TForm1.FormCreate(Sender: TObject);
Begin
If NumState='Выключен' Then
Begin
Keybd_Event(VK_NUMLock,0,0,0);
Keybd_Event(VK_NUMLock,0,KEYEVENTF_KEYUP, 0);
End;
End;
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 30.04.2009, 19:07   #5
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Большое спасибо, Terran!
Правда, в FormCreate в самом начале нужно вызвать NumState, но это не важно. Спасибо.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 14.10.2014, 11:55   #6
Новиков Сергей
Новичок
Джуниор
 
Регистрация: 02.05.2011
Сообщений: 2
По умолчанию

procedure TForm1.Button1Click(Sender: TObject);
var
KeyState: TKeyboardState;
begin
GetKeyboardState(KeyState);
if (KeyState[VK_NUMLOCK]=0) then
begin
// Имитировать релиз "NUMLOCK"
Keybd_Event(VK_NUMLOCK, 1, KEYEVENTF_EXTENDEDKEY or 0, 0);
// Имитировать клавушу "NUMLOCK"
Keybd_Event(VK_NUMLOCK, 1, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
end
else
begin
Keybd_Event(VK_NUMLOCK, 0, KEYEVENTF_EXTENDEDKEY or 0, 0);
Keybd_Event(VK_NUMLOCK, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
end;
end;
Новиков Сергей вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Контроль Scroll Lock Altera Общие вопросы Delphi 14 08.11.2008 16:35
не получается изменить NUM,CAps,scroll Lock Reds Общие вопросы Delphi 1 29.09.2008 15:31
не включается графический режим engeneer Паскаль, Turbo Pascal, PascalABC.NET 27 23.07.2008 09:13
Заставить мигать Scroll Lock snegok74 Общие вопросы Delphi 12 06.06.2008 14:02
Не включается комп Viteef Компьютерное железо 2 28.01.2008 06:29