Форум: "Основная";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];
ВнизОпределение нажатой клавиши Найти похожие ветки
← →
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 вся ветка
Форум: "Основная";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.05 c