РАЗРАБОТКА УТИЛИТЫ ЭМУЛИРУЮЩЕЙ ФУНКЦИОНАЛ МЫШИ И КЛАВИАТУРЫ
1Приамурский государственный университет имени Шолом-Алейхема, магистрант
2Приамурский государственный университет имени Шолом-Алейхема, студент
3Приамурский государственный университет имени Шолом-Алейхема, кандидат педагогических наук, доцент, заведующий кафедрой информатики и вычислительной техники
Аннотация
В рамках данной статьи рассматривается утилита, обладающая простейшим набором команд для эмуляции перемещения курсора мыши по рабочему столу, нажатии левой кнопки мыши и эмулирование нажатий клавиш клавиатуры. Утилита позволяет создать небольшой скрипт, исполнимый при нажатии на заранее заданную клавишу клавиатуры.
Ключевые слова: эмулятор мыши, эмулятор нажатия клавиш клавиатуры
DEVELOPMENT OF FUNCTIONAL UTILITY EMULATES A MOUSE AND KEYBOARD
1Sholom-Aleichem Priamursky State University, undergraduate
2Sholom-Aleichem Priamursky State University, student
3Sholom-Aleichem Priamursky State University, candidate of pedagogical sciences, associate professor, Head of the Department of Computer Science
Abstract
As part of this article examines the utility has a simple set of commands to emulate the mouse cursor on the desktop, press the left mouse button emulation and keyboard keystrokes. The utility allows you to create a small script executable by pressing a predetermined key on the keyboard.
Keywords: emulator keystrokes, emulator mouse
Рубрика: 05.00.00 ТЕХНИЧЕСКИЕ НАУКИ
Библиографическая ссылка на статью:
Манойленко И.Г., Кардаш А.С., Баженов Р.И. Разработка утилиты эмулирующей функционал мыши и клавиатуры // Современные научные исследования и инновации. 2015. № 2. Ч. 2 [Электронный ресурс]. URL: https://web.snauka.ru/issues/2015/02/47073 (дата обращения: 12.07.2026).
Сегодня сильно развивается отрасль web-разработки и, в частности последние годы, стало появляться множество web- и flash- игр. В некоторых из них используется сложное управление, требующее несколько манипуляций мышкой или клавиатурой, а может и тем и другим. В таких играх доли секунды могут решить исход всей игры.
Для повышения скорости манипуляций пользователя была разработана утилита (рис.1) с набором команд [1-3]:
- Start>[Буква клавиши по нажатию на которую происходит выполнение скрипта];
- XX>[число определяющее положение курсора относительно левой границы экрана];
- YY>[число определяющее положение курсора относительно правой границы экрана];
- KeyClick>[буква которая будет нажата];
- Time>[число определяющее паузу до следующей команды в милисекундах];
- Stop>[Буква клавиши по нажатию на которую происходит выполнение скрипта].

Рисунок 1- Окно утилиты
Приведем пример реализации модуля обработки команд.
var
x,y: word;
i,k,kkk,po:integer; //Вспомогательная переменная для цикла
s,f:string;
ppp:byte;
RUS: HKL;
begin
po:=0;
if PopupMenu2.Checked then
begin
Skript.Lines.LoadFromFile(‘C:Skript.datas’);
if Skript.Lines.Count>1 then
begin
s:=Skript.Lines[0];
for i:=1 to Length(s) do
if (getasynckeystate( ord(s[i]))<>0) then
for k:=1 to Skript.Lines.Count do
begin
if Skript.Lines[k] = ‘Start>’+s[i] then
begin
po:=11;
Break;
end;
end;
if po=11then
for k:=k to Skript.Lines.Count do
begin
po:=0;
if (Skript.Lines[k] <> ‘Stop>’+s[i])or(pos(s[i],Nab)=0) then
begin
if pos(‘Time>’,Skript.Lines[k])>0 then
begin
sleep(StrToInt(Copy(Skript.Lines[k],6,Length(Skript.Lines[k])-5)));
end;
if (Pos(‘XX>’,Skript.Lines[k])>0)and(Pos(‘YY>’,Skript.Lines[k+1])>0) then
begin
x:= StrToInt(Copy(Skript.Lines[k],4,Length(Skript.Lines[k])-3));
y:= StrToInt(Copy(Skript.Lines[k+1],4,Length(Skript.Lines[k+1])-3));
x := Round(x * (65535 / Screen.Width));
y := Round(y * (65535 / Screen.Height));
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_MOVE, x, y, 0, 0);
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, x, y, 0, 0);
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, x, y, 0, 0);
end;
if (Pos(‘KeyClick>’,Skript.Lines[k])>0) then
begin
f:=Skript.Lines[k];
kkk:=pos(f[length(f)],Alf)+64;
ppp:=kkk;
SetKbdLayout(ENGLISH);
SetLayoutActiveWnd(ENGLISH);
keybd_event(ppp, MapVirtualKey(ppp, 0), 0, 0);
keybd_event(ppp, MapVirtualKey(ppp, 0), KEYEVENTF_KEYUP, 0);
Application.ProcessMessages;
end;
end;
if Skript.Lines[k]=’Stop>’+s[i] then
begin
break;
end;
end;
off:=1;
end;
end;
Разработанная программа может быть использована как пример при изучении технологий программирования, или при самостоятельной проработке материала по эмуляции клавиатуры и кликов мыши при разработке информационных систем [4, 5].
Библиографический список
- Имитация щелчка мыши в любом месте экрана. URL: http://delphiru.ru/winapi/191-simulationmouseclick
- Эмуляция нажатия клавиши 2. URL: http://delphidevelop.ru/publ/26-1-0-210
- Биддик М. Отслеживая каждый «клик» // Журнал сети и системы связи. 2008. №14. C.42-45.
- Баженов Р.И. Использование системы moodle для организации самостоятельной работы студентов // Журнал научных публикаций аспирантов и докторантов. 2014. № 3 (93). С. 174-175.
- Баженов Р.И. Об организации деловых игр в курсе «Управление проектами информационных систем» // Научный аспект. 2014. Т. 1. № 1. С. 101-102.
Все статьи автора «Баженов Руслан Иванович»
© Если вы обнаружили нарушение авторских или смежных прав, пожалуйста, незамедлительно сообщите нам об этом по электронной почте.