Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.28;
Скачать: CL | DM;

Вниз

Помогите: необходима эмуляция поведения мыши   Найти похожие ветки 

 
Andrei   (2001-10-17 10:08) [0]

Нужна полная эмуляция мыши - move, нажатие клавиш. Буду признателен за любой совет.


 
stasev   (2001-10-17 22:33) [1]

Y menia est komponent "mouseControl" on moget pozizionirovat misha i nagimat knopki. Ny a prozedyrky dla toskania - dymay mogech napista sam.
http://www.israstas.dax.ru/programs/mouseControl.zip


 
Zmey   (2001-10-18 02:49) [2]

Лови, я тут как то прикалывался
=================================

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, Spin;

type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
SpinEdit1: TSpinEdit;
SpinEdit2: TSpinEdit;
BitBtn9: TBitBtn;
BitBtn10: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn9Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure BitBtn10Click(Sender: TObject);
procedure SpinEdit1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}
procedure emulate_mouse(dx,dy:integer; flag, m_left, m_right, m_middle:byte);
const pause=200;
var flags:cardinal;
begin
{
кнопки m_left, m_right, m_midlle
0:ничего не происходит
1:кнопка внизу
2:кнопка вверху
3:одиночное нажатие
else:двойноае нажатие

flag
0:установка координат
1:смещение мышки
else:не изменять координат
}

// перемещение мышки
case flag of
0:flags:=MOUSEEVENTF_ABSOLUTE+MOUSEEVENTF_MOVE;
1:flags:=MOUSEEVENTF_MOVE;
else
flags:=0;
end;
mouse_event(flags,round(65535/640*dx),round(65535/480*dy),0,0);

// имитация нажатие кнопок
flags:=0;

// левая кнопка
case m_left of
0:;
1:flags:=flags+MOUSEEVENTF_LEFTDOWN;
2:flags:=flags+MOUSEEVENTF_LEFTUP;
3:flags:=flags+MOUSEEVENTF_LEFTDOWN;
else
flags:=flags+MOUSEEVENTF_LEFTDOWN;
end;

// правая кнопка
case m_right of
0:;
1:flags:=flags+MOUSEEVENTF_RIGHTDOWN;
2:flags:=flags+MOUSEEVENTF_RIGHTUP;
3:flags:=flags+MOUSEEVENTF_RIGHTDOWN;
else
flags:=flags+MOUSEEVENTF_RIGHTDOWN;
end;

// средняя кнопка
case m_middle of
0:;
1:flags:=flags+MOUSEEVENTF_MIDDLEDOWN;
2:flags:=flags+MOUSEEVENTF_MIDDLEUP;
3:flags:=flags+MOUSEEVENTF_MIDDLEDOWN;
else
flags:=flags+MOUSEEVENTF_MIDDLEDOWN;
end;
mouse_event(flags,dx,dy,0,0);

if (m_left>2)and(m_right>2)and(m_middle>2) then exit;

// одиночное нажатие
sleep(pause);
flags:=0;

// левая кнопка
case m_left of
0,1,2:;
3:flags:=flags+MOUSEEVENTF_LEFTUP;
else
flags:=flags+MOUSEEVENTF_LEFTUP;
end;

// правая кнопка
case m_right of
0,1,2:;
3:flags:=flags+MOUSEEVENTF_RIGHTUP;
else
flags:=flags+MOUSEEVENTF_RIGHTUP;
end;

// средняя кнопка
case m_middle of
0,1,2:;
3:flags:=flags+MOUSEEVENTF_MIDDLEUP;
else
flags:=flags+MOUSEEVENTF_MIDDLEUP;
end;
mouse_event(flags,dx,dy,0,0);
if (m_left>3)and(m_right>3)and(m_middle>3) then exit;
// двойное нажатие
sleep(pause);
flags:=0;

// левая кнопка
case m_left of
0,1,2,3:;
else
flags:=flags+MOUSEEVENTF_LEFTDOWN;
end;

// правая кнопка
case m_right of
0,1,2,3:;
else
flags:=flags+MOUSEEVENTF_RIGHTDOWN;
end;

// средняя кнопка
case m_middle of
0,1,2,3:;
else
flags:=flags+MOUSEEVENTF_MIDDLEDOWN;
end;
mouse_event(flags,dx,dy,0,0);

//
sleep(pause);
flags:=0;

// левая кнопка
case m_left of
0,1,2,3:;
else
flags:=flags+MOUSEEVENTF_LEFTDOWN;
end;

// правая кнопка
case m_right of
0,1,2,3:;
else
flags:=flags+MOUSEEVENTF_RIGHTDOWN;
end;

// средняя кнопка
case m_middle of
0,1,2,3:;
else
flags:=flags+MOUSEEVENTF_MIDDLEDOWN;
end;
mouse_event(flags,dx,dy,0,0);

end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
emulate_mouse(0,-10,1,0,0,0);
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
emulate_mouse(0,10,1,0,0,0);
end;

procedure TForm1.BitBtn3Click(Sender: TObject);
begin
emulate_mouse(-10,0,1,0,0,0);
end;

procedure TForm1.BitBtn4Click(Sender: TObject);
begin
emulate_mouse(10,0,1,0,0,0);
end;

procedure TForm1.BitBtn5Click(Sender: TObject);
begin
emulate_mouse(0,0,2,3,0,0);
end;

procedure TForm1.BitBtn6Click(Sender: TObject);
begin
emulate_mouse(0,0,2,0,3,0);
end;

procedure TForm1.BitBtn9Click(Sender: TObject);
begin
emulate_mouse(0,0,2,0,0,3);
end;

procedure TForm1.BitBtn7Click(Sender: TObject);
begin
emulate_mouse(0,0,2,4,0,0);
end;

procedure TForm1.BitBtn8Click(Sender: TObject);
begin
emulate_mouse(0,0,2,0,4,0);
end;

procedure TForm1.BitBtn10Click(Sender: TObject);
begin
emulate_mouse(0,0,2,0,0,4);
end;

procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
emulate_mouse(SpinEdit1.Value,SpinEdit2.Value,0,0,0,0);
end;

end.





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

Текущий архив: 2002.01.28;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.009 c
3-90199
RealyGrey
2001-12-22 14:15
2002.01.28
Как в IB с помощью SQL запроса получить метаданные определенной таблицы?


6-90340
Amit
2001-11-03 22:37
2002.01.28
Плиз помогите мне !


14-90350
Orest
2001-12-01 21:52
2002.01.28
ICQ 2001b


1-90294
Vasilii
2002-01-08 10:19
2002.01.28
Вызов консольного приложения


3-90227
Wladimir
2001-12-25 06:40
2002.01.28
Баг с размещением на форме элементов Tedit над колонками DBGrid