Вверх ↑
Этот топик читают: Гость
Ответов: 1333
Рейтинг: 30
#1: 2022-11-07 21:22:16 ЛС | профиль | цитата
компонент делать лень но думаю имеет смысл этому IC тут лежать

работает в играх
не работает там, где явно запрещено

Add(InlineCode,3935702,287,140)
{
@Hint=#22:Запрос NamePC Name Bit|
@Color=16777130
WorkPoints=#12:doMouseClick|11:doMouseDown|9:doMouseUp|15:doKeyBoardPress|14:doKeyBoardDown|12:doKeyBoardUp|11:doMouseMove|0:|
DataPoints=#3:Key|1:X|1:Y|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses Windows,kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|24: Key,X,Y: THI_Event;|57: procedure doMouseClick(var _Data:TData; Index:word);|60: procedure doKeyBoardPress(var _Data:TData; Index:word);|56: procedure doMouseDown(var _Data:TData; Index:word);|54: procedure doMouseUp(var _Data:TData; Index:word);|56: procedure doMouseMove(var _Data:TData; Index:word);|59: procedure doKeyBoardDown(var _Data:TData; Index:word);|57: procedure doKeyBoardUp(var _Data:TData; Index:word);|5: end;|0:|0:|14:implementation|0:|5:const|102: _mdown:array[1..3]of cardinal = (MOUSEEVENTF_LEFTDOWN,MOUSEEVENTF_RIGHTDOWN,MOUSEEVENTF_MIDDLEDOWN);|94: _mup:array[1..3]of cardinal = (MOUSEEVENTF_LEFTUP,MOUSEEVENTF_RIGHTUP,MOUSEEVENTF_MIDDLEUP);|21: INPUT_KEYBOARD = 1;|0:|28:procedure MouseDown(b:byte);|3:var|16: inp: TInput;|20: mi: TMouseInput;|5:begin|31: ZeroMemory(@mi, sizeof(mi));|33: ZeroMemory(@inp, sizeof(inp));|26: mi.dwFlags:= _mdown[b];|16: inp.mi := mi;|32: SendInput(b,inp,sizeof(inp));|4:end;|0:|26:procedure MouseUp(b:byte);|3:var|16: inp: TInput;|20: mi: TMouseInput;|5:begin|31: ZeroMemory(@mi, sizeof(mi));|33: ZeroMemory(@inp, sizeof(inp));|24: mi.dwFlags:= _mup[b];|16: inp.mi := mi;|32: SendInput(b,inp,sizeof(inp));|4:end;|0:|0:|31:procedure KeyBoardDown(b:byte);|0:|3:var|37: inp: packed array [0..1] of TInput;|2: |5:begin|33: inp[0].Itype := INPUT_KEYBOARD;|21: inp[0].ki.wVk := b;|25: inp[0].ki.dwFlags := 0;|39: SendInput(2, inp[0], SizeOf(TInput));|4:end;|0:|29:procedure KeyBoardUp(b:byte);|0:|3:var|37: inp: packed array [0..1] of TInput;|2: |5:begin|33: inp[1].Itype := INPUT_KEYBOARD;|21: inp[1].ki.wVk := b;|40: inp[1].ki.dwFlags := KEYEVENTF_KEYUP; |39: SendInput(2, inp[0], SizeOf(TInput));|4:end;|0:|0:|39:procedure MouseMove(posx,posy:integer);|0:|3:var|37: inp: packed array [0..1] of TInput;|2: |5:begin|30: inp[0].Itype := INPUT_MOUSE;|40: inp[0].mi.dwFlags := MOUSEEVENTF_MOVE;|23: inp[0].mi.dx := posx;|23: inp[0].mi.dy := posy;|39: SendInput(1, inp[0], SizeOf(TInput));|4:end;|0:|0:|0:|34:procedure THiAsmClass.doMouseMove;|0:|0:|5:begin|55:MouseMove(ReadInteger(_Data, X),ReadInteger(_Data, Y));|4:end;|0:|0:|0:|0:|35:procedure THiAsmClass.doMouseClick;|0:|3:var|9:mbk:Byte;|0:|5:begin|29:mbk:=ReadInteger(_Data, Key);|15:MouseDown(mbk);|9:Sleep(1);|13:MouseUp(mbk);|4:end;|0:|38:procedure THiAsmClass.doKeyBoardPress;|0:|3:var|9:mbk:Byte;|0:|5:begin|29:mbk:=ReadInteger(_Data, Key);|18:KeyBoardDown(mbk);|9:Sleep(1);|16:KeyBoardUp(mbk);|4:end;|0:|0:|37:procedure THiAsmClass.doKeyBoardDown;|0:|3:var|9:mbk:Byte;|0:|5:begin|29:mbk:=ReadInteger(_Data, Key);|18:KeyBoardDown(mbk);|4:end;|0:|0:|35:procedure THiAsmClass.doKeyBoardUp;|0:|3:var|9:mbk:Byte;|0:|5:begin|29:mbk:=ReadInteger(_Data, Key);|16:KeyBoardUp(mbk);|4:end;|0:|0:|34:procedure THiAsmClass.doMouseDown;|0:|3:var|9:mbk:Byte;|0:|5:begin|29:mbk:=ReadInteger(_Data, Key);|15:MouseDown(mbk);|4:end;|0:|0:|32:procedure THiAsmClass.doMouseUp;|0:|3:var|9:mbk:Byte;|0:|5:begin|29:mbk:=ReadInteger(_Data, Key);|13:MouseUp(mbk);|4:end;|0:|4:end.|
}

Редактировалось 1 раз(а), последний 2022-11-07 21:25:42
карма: 2

0
vip
#1.1контекстная реклама от партнеров
Ответов: 2092
Рейтинг: 660
#2: 2022-11-07 21:54:28 ЛС | профиль | цитата
Rysik, hint скорее всего от чего-то другого остался.
карма: 10

0
Ответов: 1333
Рейтинг: 30
#3: 2022-11-07 22:19:33 ЛС | профиль | цитата
sla8a писал(а):
Rysik, hint скорее всего от чего-то другого остался.

ну да))
карма: 2

0
Ответов: 2092
Рейтинг: 660
#4: 2022-11-07 22:25:16 ЛС | профиль | цитата
Понятно что на работу hint не повлияет, а то получается что на заборе одно написано, а там дрова лежат
И правильней бы было в раздел Делаем компоненты, это все таки не компонент.
карма: 10

0
Ответов: 8799
Рейтинг: 817
#5: 2022-11-07 22:27:20 ЛС | профиль | цитата
Rysik, выполните просьбу: https://forum.hiasm.com/post/312514
Rysik, не надо, спасибо!

Редактировалось 1 раз(а), последний 2022-11-08 10:37:04
карма: 18

0
Ответов: 212
Рейтинг: 4
#6: 2022-11-08 09:21:13 ЛС | профиль | цитата
Rysik писал(а):
компонент делать лень но думаю имеет смысл этому IC тут лежать

работает в играх
не работает там, где явно запрещено



А для чего это, куда применить, можно пример.
карма: 1

0
Ответов: 1333
Рейтинг: 30
#7: 2022-11-08 11:33:10 ЛС | профиль | цитата
ric писал(а):
А для чего это, куда применить, можно пример.


Это обычная эмуляция, но работает во всех приложениях включая 3D, в то время как штатный компонент не везде работает, а так же в нем не работает движение мышки (лишь установка позиции курсора)
карма: 2

0
Ответов: 212
Рейтинг: 4
#8: 2022-11-08 21:23:53 ЛС | профиль | цитата
Всетаки надо в компонент завернуть, чтоб под рукой было в политре, и не искать потом если понадобится.
карма: 1

0
Ответов: 4589
Рейтинг: 737
#9: 2022-11-10 16:12:41 ЛС | профиль | цитата
Новый компонент делать не имеет смысла - можно и существующий переделать. Заодно и эмуляция целых последовательностей из строк.

Редактировалось 2 раз(а), последний 2022-11-10 16:14:02
карма: 26

0
Ответов: 261
Рейтинг: 16
#10: 2022-11-10 17:26:43 ЛС | профиль | цитата
Netspirit писал(а):
Заодно и эмуляция целых последовательностей из строк

Было бы не плохо, с настраиваемой скоростью набора.
карма: 3

0
Ответов: 5179
Рейтинг: 577
#11: 2022-11-10 17:52:40 ЛС | профиль | цитата
+ с искусственным интеллектом для этих наборов
карма: 4
0
11
Сообщение
...
Прикрепленные файлы
(файлы не залиты)