PDA

Просмотр полной версии : Клик на смарт гварде.


dyh9l
04.02.2017, 23:34
Как реализовать клик мышью (через делфи) на смарт гварде если событие маусэвент не кликает в пределах клиента л2?

Может даже наработки есть у кого какие?

Ото у меня сейчас как-то неадекватно работает система, драйвера от мышки точат, а адреналин в релог уходит когда нужный уровень заточки)))

ScythLab
05.02.2017, 12:14
У Смарта есть модуль анти-кликер, поэтому SendMessage/mouse_event/SendInput без дополнительных махинаций работать не будут.

dyh9l
05.02.2017, 12:48
У Смарта есть модуль анти-кликер, поэтому SendMessage/mouse_event/SendInput без дополнительных махинаций работать не будут.

Может наведешь на мысль какие дополнительные махинации можно сделать с этими методами \ или другими, чтоб завелось?
p.s: драйвера a4tech х7 успешно кликают.

goodvin1709
06.02.2017, 15:02
Дуня ты еще тут?

ScythLab
06.02.2017, 21:09
Может наведешь на мысль какие дополнительные махинации можно сделать с этими методами \ или другими, чтоб завелось?
p.s: драйвера a4tech х7 успешно кликают.Как раз драйвера и будут кликать без проблем, но только в активное окно.
А чтобы кликать в Смарт, нужно разбирать какие там стоят проверки и отламывать их.

fastx
14.10.2017, 03:02
http://tophope.ru/threads/6070/
https://github.com/unc1e/ZwClicker
Писал не так давно

Smwr
14.10.2017, 14:53
С вкладки About нормально так поорал

fastx
14.10.2017, 17:52
С вкладки About нормально так поорал

Ну тк надо стараться, чтобы софт приносил радость людям ))

nasta456
30.01.2019, 21:02
спасибо за ответы)

controller
23.05.2020, 00:27
Нажатие кнопок... в активное и не активное окно, я этим играюсь на астериосе для кликера )

procedure PostKeyExHWND(hWindow: HWnd; key: Word;
const shift: TShiftState;
specialkey: Boolean);
type
TBuffers = array [0..1] of TKeyboardState;
var
pKeyBuffers: ^TBuffers;
lParam: LongInt;
begin
(* check if the target window exists *)
if IsWindow(hWindow) then
begin
(* set local variables to default values *)
pKeyBuffers := nil;
lParam := MakeLong(0, MapVirtualKey(key, 0));
(* modify lparam if special key requested *)
if specialkey then
lParam := lParam or $1000000;
(* allocate space for the key state buffers *)
New(pKeyBuffers);
try
(* Fill buffer 1 with current state so we can later restore it.
Null out buffer 0 to get a "no key pressed" state. *)
GetKeyboardState(pKeyBuffers^[1]);
FillChar(pKeyBuffers^[0], SizeOf(TKeyboardState), 0);
(* set the requested modifier keys to "down" state in the buffer*)
if ssShift in shift then
pKeyBuffers^[0][VK_SHIFT] := $80;
if ssAlt in shift then
begin
(* Alt needs special treatment since a bit in
lparam needs also be set *)
pKeyBuffers^[0][VK_MENU] := $80;
lParam := lParam or $20000000;
end;
if ssCtrl in shift then
pKeyBuffers^[0][VK_CONTROL] := $80;
if ssLeft in shift then
pKeyBuffers^[0][VK_LBUTTON] := $80;
if ssRight in shift then
pKeyBuffers^[0][VK_RBUTTON] := $80;
if ssMiddle in shift then
pKeyBuffers^[0][VK_MBUTTON] := $80;
(* make out new key state array the active key state map *)
SetKeyboardState(pKeyBuffers^[0]);
(* post the key messages *)
if ssAlt in Shift then
begin
PostMessage(hWindow, WM_SYSKEYDOWN, key, lParam);
PostMessage(hWindow, WM_SYSKEYUP, key, lParam or $C0000000);
end
else
begin
PostMessage(hWindow, WM_KEYDOWN, key, lParam);
PostMessage(hWindow, WM_KEYUP, key, lParam or $C0000000);
end;
(* process the messages *)
Application.ProcessMessages;
(* restore the old key state map *)
SetKeyboardState(pKeyBuffers^[1]);
finally
(* free the memory for the key state buffers *)
if pKeyBuffers <> nil then
Dispose(pKeyBuffers);
end; { If }
end;
end; { PostKeyEx }