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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2009, 18:05   #1
ScorpioN_T
Пользователь
 
Регистрация: 27.10.2008
Сообщений: 62
По умолчанию Мышка - узнать код

Искал в Инете...
Искал на форуме ничего под себя не нашел...

Есть мышка Delux Model M500
как на всех мышках есть колёсико, левая и правая кнопка
но еще есть дополнительные две кнопки

Терь мне нужно узнать их коды для начала, чтобы с ними можно было дальше работать, но никак не могу сделать перехват.

Пробывал разные способы из этого форума, но дальше как перехватить клаву и узнать какая кнопка на мыши нажата ненашел способа

Мне бы что нить с ORD
Код:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
label1.caption:=IntToStr(ord(key));
end;
или что нить на подобие
ScorpioN_T вне форума Ответить с цитированием
Старый 05.05.2009, 18:11   #2
crystalbit
ГОСТ 2.403-75
Пользователь
 
Аватар для crystalbit
 
Регистрация: 04.05.2009
Сообщений: 92
По умолчанию

попробуй этой прогой (аттач), писал года два назад на vb, показывает что нажато в данный момент (использует GetKeyState по циклу в таймере)
Вложения
Тип файла: rar KeyLister.rar (7.6 Кб, 14 просмотров)
мой скромный delphi блог
crystalbit вне форума Ответить с цитированием
Старый 05.05.2009, 18:17   #3
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Цитата:
WM_LBUTTONDOWN

WPARAM wParam
LPARAM lParam;


Parameters
wParam
Indicates whether various virtual keys are down. This parameter can be one or more of the following values.
MK_CONTROL
The CTRL key is down.
MK_LBUTTON
The left mouse button is down.
MK_MBUTTON
The middle mouse button is down.
MK_RBUTTON
The right mouse button is down.
MK_SHIFT
The SHIFT key is down.
MK_XBUTTON1
Windows 2000/XP: The first X button is down.
MK_XBUTTON2
Windows 2000/XP: The second X button is down.
http://msdn.microsoft.com/en-us/libr...07(VS.85).aspx
пыщь
JTG вне форума Ответить с цитированием
Старый 05.05.2009, 19:01   #4
ScorpioN_T
Пользователь
 
Регистрация: 27.10.2008
Сообщений: 62
По умолчанию

crystalbit
Спасибо!!!
нашел я тот самый код кнопки.

Цитата:
MK_XBUTTON1
Windows 2000/XP: The first X button is down.
MK_XBUTTON2
Windows 2000/XP: The second X button is down.
Этот случай не для меня, у меня они не реагируют...
но всё равно спс за помощь
ScorpioN_T вне форума Ответить с цитированием
Старый 06.05.2009, 11:14   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
у меня они не реагируют...
Дрова знач не поддерживают.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.05.2009, 11:55   #6
ScorpioN_T
Пользователь
 
Регистрация: 27.10.2008
Сообщений: 62
По умолчанию

Всё ПОЧТИ работает!
но есть одно НО
вот код :
b1,b2 - это номер кода символа
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if getasynckeystate(5)<>0 then
keybd_event(b1, VK_CONTROL, 0, 0);
if getasynckeystate(6)<>0 then
keybd_event(b2, VK_CONTROL, 0, 0);    
end;
и с этим кодом тоже возился...
Код:
if getasynckeystate(5)<>0 then

PostMessage(HWND_BROADCAST, WM_KEYDOWN, b1, 0);
Я запускаю свою прогу, прописываю в переменные b1,b2 свои значения.
ТАк теперь вопрос...
Я запускаю игру "Вар Крафт"
ПРИ работе игры, МОИ КНОПКИ РАБОТАЮТ ТОЛЬКО ОДИН РАЗ.
Как мне это исправить?
Т.е. один раз на них кликнешь, он срабатывает, а во второй раз не реагирует

З.Ы. и еще как мне узнать хэндл моей игры ?

Последний раз редактировалось ScorpioN_T; 06.05.2009 в 11:57.
ScorpioN_T вне форума Ответить с цитированием
Старый 08.05.2009, 16:35   #7
Zeraim
Ra-Ra ?
Форумчанин
 
Аватар для Zeraim
 
Регистрация: 06.03.2008
Сообщений: 286
По умолчанию

Если мне не изменяет память, PostMessage отсылает сообщение без ожидания ответа о обработке этого сообщения. Вполне возможно что в этом и кроется ошибка. Также отсылать сообщение всем окнам тоже не хорошо. А получить хендл можно к примеру через FindWindow, или по таймеру активное окно (не помню команду).
Zeraim вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мышка в Паскале. IDE = TP7 Qousio Помощь студентам 3 04.05.2009 12:53
Код игры на Паскале и на Делфи сильно отличается? Как переписать код с Паскаля в Делфи? Mclaren Помощь студентам 2 27.04.2009 22:37
damn small linux не работает мышка veter_s_morya Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) 4 02.04.2009 09:37
Узнать код заданой странички в инете. proglamer Работа с сетью в Delphi 1 28.11.2008 15:06
Безумная мышка Манжосов Денис :) Общие вопросы Delphi 2 30.04.2008 14:15