Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.09.22;
Скачать: [xml.tar.bz2];

Вниз

Как узнать, нажата ли в данный момент...   Найти похожие ветки 

 
greenrul   (2003-09-05 15:19) [0]

... МУЛЬТИМЕДИЙНАЯ клавиша в win98 - это там всякие Play,WWW и т.д. В Xp/Nt/2k я могу проверить GetKeyState кажется, но вот в 98 все дополнительные клавиши имеют код 255...

Как мне опознать эти клавиши дополнительные?


 
[lamer]Barmaglot   (2003-09-05 15:28) [1]

Как ты проверял в XP/Nt/2kб что работает? Покажи код...


 
greenrul   (2003-09-05 23:37) [2]

if GetAsyncKeyState(Key))<0 then
ShowMessage("Key "+IntToStr(key)+" is pressed");
тут кода-то считай нету....

просто для win98 все дополнительные клавиши идут как 255.
Моя задача - сперва отловить нажатие этой клавиши в программе, а потом в определенное время проверить их нажатие. т.е. если я добавлю три мультимедийные клавиши то все будут отзываться как 255 и я не определю who is who


 
greenrul   (2003-09-07 03:30) [3]

Доктор, пациент будет жить?


 
VMcL   (2003-09-07 03:50) [4]

OFF: >greenrul © (07.09.03 03:30) [3]

Больной, не занимайтесь самолечением. Врач сказал в морг - значит в морг.


 
greenrul   (2003-09-07 13:05) [5]

Врач! А как же нетрадиционная медецина?
если серьезно то есть софт для моей клавиатуры который спокойно эти клавиши обрабатывает


 
greenrul   (2003-09-08 23:18) [6]

Плиз ХЕЛП!


 
sniknik   (2003-09-08 23:32) [7]

до сих пор актуально?
насколько понимаю эти мультимедийные клавиши ничто иное как сочетания типа Ctrl+F1 ....

забей код на кейдаун (если у формы то KeyPreview включи - труе) ди и посмотри. и нечего так ОРАТЬ! ;о))

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if ssShift in Shift then Label1.Caption:= "Shift pressed!"
else Label1.Caption:= "";
if ssAlt in Shift then Label2.Caption:= "Alt pressed!"
else Label2.Caption:= "";
if ssCtrl in Shift then Label3.Caption:= "Ctrl pressed!"
else Label3.Caption:= "";
Label4.Caption:= "Ord : "+IntToStr(Key)+"; Chr : "+Chr(Key);
end;


 
greenrul   (2003-09-09 17:55) [8]

Ord:255 Char:я
=(

может есть альтернативные способы?


 
greenrul   (2003-09-09 22:37) [9]

Я к сожалению в сообщениях Windows не сильно рублю, но мне кажется что при нажатии клавиши посылается WM поподробней - может оттуда можно выдрать "код"?


 
sniknik   (2003-09-10 00:46) [10]

все в виндах делается через сообщения, и кейдаун тоже через них описан вроде этого

procedure WMChar(var Message: TWMChar); message WM_CHAR;

procedure TForm1.WMChar(var Message: TWMChar);
begin
if Message.CharCode = Ord(#13) then
ProcessEnter
else
inherited;
end;

но скорее всего клавиша посылает события нажатия на клавишу, если это не так (говориш что все одно и то же) то осталось найти это сообщение а "выдрать" оттуда код будет легко, он в передаваемом сообщении. (жаль у меня нет такой клавиатуры)

кстати попробуй не только кейдаун а еще и кейпресс, кейап там то же самое?


 
iWorm   (2003-09-10 02:48) [11]

у меня тоже мультимедийная клава... Так вот я ставил и на кейпресс, и накейдаун, и на кейапп... На кейпресс лучше не ставить... Еще очень интересная деталь: у меня на клавиатуре есть клавиши управления сидиромом, управления Центральным микшером, быстрого запуска, и еще 2 - PrevPage и NextPage. И вот три клавиши управления звуком и PrevPage и NextPage возращают - Chr(сто с чем то) и их можно в принципе заставить работать как нада а вот остальные 255 :(
с уважением Иван Семенов


 
don-do   (2003-09-10 06:12) [12]

Посмотри getkeystate() может поможет.


 
Романов Р.В.   (2003-09-10 06:25) [13]

http://z-ol.chat.ru/hardw.htm#T11



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

Форум: "Основная";
Текущий архив: 2003.09.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.013 c
3-71496
Deniz
2003-08-29 07:46
2003.09.22
ADO + Parameters ... Null


3-71553
nikkkk
2003-08-28 17:22
2003.09.22
Как работать с составными(expression) индексами ???


6-71810
borg
2003-07-16 08:49
2003.09.22
mailto


14-71885
Zheks
2003-08-28 21:31
2003.09.22
А чё убрали


6-71817
aa5E1
2003-07-24 11:20
2003.09.22
Имя удаленного компьютера





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский