Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работает ли мышь? Как поределить програмно? [D5, WinXP]


cerber1 ©   (2004-10-29 21:45:00) 

Собственно вопрос в названии. Ответы типа :подергать мышь и помотреть на экран не принимаются ибо надо ПРОГРАММНО. Слышал про  такую возможность и чита у Гука, но не видел сорцов.


OSokin   (2004-10-31 18:01:00) [1]

Сорри, не увидел.


cerber1   (2004-10-31 13:18:00) [2]

2 abc   (29.10.04 22:17) [3]

Вопрос не в том присутствует или нет, а в том "Работает ли мышь?". Знаю, что есть возможность ввести мышь в режим похожий на "эхо" в СОМ-портах, а вот как, не знаю.  

2 OSokin ©   (30.10.04 17:43) [4]

1. см. выше("присутствует<>работает")
2. Под ХР "int 33h" - сомневаюсь что заработает.


OSokin   (2004-10-30 17:43:00) [3]

Еще метод (тока не знаю, прокатит ли):

type
 TMouseData=record
   mversion:word;     //Версия мышки
   mtype:byte;        //Тип (1-bus,2-serial,3-InPort,4-PS/2,5-HP)
   mintr:byte;        //Прерывание (0-PS/2,2-IRQ2,3-IRQ3,...,7-IRQ7)
   mpresent:boolean;  //Присутствует ли мышка
 end;

...

function MouseData:TMouseData;
var
 temp:TMouseData;
 tempw:word;
begin
asm
 mov ax,0024h
 int 33h
 mov tempw,ax
 mov temp.mversion,bx
 mov temp.mtype,ch
 mov temp.mintr,cl
end;
if tempw=$FFFF then temp.mpresent:=false else temp.mpresent:=true;
Result:=temp;
end;


abc   (2004-10-29 22:17:00) [4]

Как узнать, присутствует ли мышка?

function MousePresent: boolean;
begin
  if GetSystemMetrics( SM_MOUSEPRESENT ) <> 0 then
     Result := true
  else
     Result := false;
end;


cerber1   (2004-10-29 21:56:00) [5]

2 miek ©   (29.10.04 21:50) [1]

1. если не дергать мішь то там нихрена не идет - проверено осцилографом
2. А если PS/2?


miek   (2004-10-29 21:50:00) [6]

1) COM-порт, отведенный мыши, должен быть занят (если это COM-мышь)
2) По нему постоянно должна идти передача


Наверх

Титульная страница Поиск, карта сайта Написать письмо