Вниз
Скачать: CL | DM;

Определение нажатой клавиши   Найти похожие ветки 

← →
snake_r   (2005-02-09 09:16) [0]

Здравствуйте! подскажите, как можно при загрузке приложения определить нажатали в данный момент какаято клавиша?
например как сделано для автозагрузки CD, т.е. если нажат shift то автозагрузка непроисходит.
Примерно такуюже штуку я хочу сделать в своем приложении, т.е. чтобы при запуске определять нажата ли определенная клавиши, и если нажата, то например пропустить процедуру проверки.


← →
begin...end ©   (2005-02-09 09:19) [1]

> snake_r   (09.02.05 9:16)

См. в справке описание API-функций GetAsyncKeyState и GetKeyboardState.


← →
snake_r   (2005-02-09 09:27) [2]

нету в справке у меня таких :((


← →
begin...end ©   (2005-02-09 09:29) [3]

> snake_r   (09.02.05 9:27) [2]

Help -> Windows SDK.


← →
ghg ©   (2005-02-09 09:30) [4]

написано же что API
то бишь смотри в MSDN


← →
snake_r   (2005-02-09 09:35) [5]

гдеб его еще взять :)
может кто ссылку кинет на примерчик или описание ??


← →
КаПиБаРа ©   (2005-02-09 09:40) [6]

snake_r   (09.02.05 9:35) [5]
может кто ссылку кинет на примерчик или описание ??


www.yandex.ru


← →
begin...end ©   (2005-02-09 09:44) [7]

> snake_r   (09.02.05 9:35) [5]

1. Запустите Delphi. Выберите пункт меню "Help", а в нём - пункт "Windows SDK". В открывшемся окне выберите вкладку "Предметный указатель", установите курсор в поле ввода и наберите название какой-нибудь из предложенных функций. Нажмите клавишу "Enter".

2. Зайдите на сайт http://www.msdn.com . Установите курсор в поле ввода справа и наберите название какой-нибудь из предложенных функций. Выберите пункт "MSDN Library" и нажмите кнопку "Go". В открывшемся окне с результатами поиска выберите первую ссылку с результатом.

3. Зайдите на сайт http://www.ya.ru . Установите курсор в поле ввода справа и наберите название какой-нибудь из предложенных функций. Нажмите кнопку "Найти". Просмотрите появившееся окно с результатами поиска и выберите наиболее подходящую ссылку.


← →
snake_r   (2005-02-09 09:48) [8]

так подробно
аш жуть :)

тока вот проблемма
эти функции не работают если я их вставляю в сервис :(
т.е. на событие страрта сервиса я делаю вызов
if GetAsyncKeyState(VK_LCONTROL)<>0 then
 Begin
  AssignFile(f,"c:\log.txt");
  rewrite(f);
  Writeln(f,"key pressed");
  closeFile(f);
 end;

но файлика не создается :(


← →
begin...end ©   (2005-02-09 09:56) [9]

> snake_r   (09.02.05 9:48) [8]

Версия Windows - ?


← →
snake_r   (2005-02-09 09:57) [10]

XP
в описании написано
The return value is zero if a window in another thread or process currently has the keyboard focus.

а т.к. я запускаю сервис, то кейбоард фокус ваще непонятно кто имеет :(

как быть??


← →
КаПиБаРа ©   (2005-02-09 10:02) [11]

GetKeyboardState


← →
snake_r   (2005-02-09 10:06) [12]

GetKeyState !!
помогло!
пработает зашибись :)
спасибо за помощь



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.023 c
1-1108115329
Elast
2005-02-11 12:48
2005.02.27
Указатели


3-1106659874
Behemoth
2005-01-25 16:31
2005.02.27
Как переименовать MSSQLSERVER


1-1107960532
arhis
2005-02-09 17:48
2005.02.27
Форма в форме.


1-1108294875
Olka
2005-02-13 14:41
2005.02.27
Можно ли добавить новое значение в DBLookupCombobox


14-1107840759
nes
2005-02-08 08:32
2005.02.27
Опять портатип диска




   Наверх