Вверх ↑
Ответов: 2059
Рейтинг: 131
#1: 2022-05-15 21:14:30 ЛС | профиль | цитата
Можно сделать перехват https://forum.hiasm.com/getfile/39451 Позволяет использовать методы объектов и функций Win API в качестве функций обратного вызова.
Когда то так делал и всё работало.
Суть, как работает:

procedure TAutoClickOKThread.Execute;
var
Callback: PCallbackThunk;
begin
Callback := VirtualAlloc(nil, SizeOf(Callback^),
Mem_Commit, Page_Execute_ReadWrite);
try
Callback.POPEDX := $5A;
Callback.MOVEAX := $B8;
Callback.SelfPtr := Self;
Callback.PUSHEAX := $50;
Callback.PUSHEDX := $52;
Callback.JMP := $E9;
Callback.JmpOffset := Integer(@TAutoClickOKThread.cbEnumWindowsClickOK) - Integer(@Callback.JMP) - 5;

EnumWindows(Callback, 0);
finally
VirtualFree(Callback);
end;
end;
карма: 6

0
Редактировалось 3 раз(а), последний 2022-05-15 21:17:22