ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   Не обрабатывается SendMessage после повторное отправки (https://forum.antichat.xyz/showthread.php?t=1421219)

Gafask 07.02.2022 21:21

Добрый день/вечер/ночь 😇 читатели или слушатели , для кого как .

Сразу к сути проблемы :

Я отравляю SendMessage для нажатия в чужом окне. SendMessage срабатывает только 1 раз, при повторной отправке SendMessage то программа перестает реагировать на SendMessage .

Если нажать на клавишу в которую я отправляю SendMessage в ручную и повторно отправить команду SendMessage то она срабатывает.

Что я делаю не так, программа просто обрабатывает мои сообщения только 1 раз если не обновлять в ручную нажатия .

Я отправляю SendMessage в открытое, активное окно .

Сделать через перемещение и клик мышкой не вариант , это красиво выглядит и не дает функционал при котором можно нажимать даже в свернутом окне .

Что делает делает код ? Ответ: отправляет SendMessage о нажатии левой кнопкой мышки для активации функции/триггера/кнопки как удобнее .

Подскажите пожалуйста.
Цитата:

Сообщение от Спойлер

This XML file does not appear to have any style information associated with it. The document tree is shown below.

0x000207BE

0x00000000

0

0

98

38

SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER | NONE

0x000207BE

0x00000000

0

0

98

38

SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER | NONE

0x00000000

0x00000000

0x000207BE

0x00000000

0

0

98

38

SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER | SWP_NOREDRAW | NONE

SIZE_RESTORED

98

38

0x00000000

0

1

0x00D5A704

0

0x00000000

0

1

0x00D5BBC4

0

0x00000001

0x00000000

0x99010DD7

0

1

0x00D5BCF4

0

0x00000001

0x00000001

0x00000000

0xF6011515

0

1

0x00D5BB84

0

0x00000001

0x00000001

0x00000000

0xF00115BA

0

1

0x00D5B414

0

0x00000001

0x00000001

0x00000000

0xF6011515

0

1

0x00D5AE3C

0

0x00000001

0x000207BE

0x00000000

0

0

85

38

SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER | NONE

0x000207BE

0x00000000

0

0

85

38

SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER | NONE

0x00000000

0x00000000

0x00000001

0x00000000

0x99010DD7

0

1

0x00D5A73C

0

0x00000001

0x000207BE

0x00000000

0

0

85

38

SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER | NONE

SIZE_RESTORED

85

38

0x00000000

0

1

0x00D5A6C4

0

0x00000000

0x00000001

0x00000000

0xB6012284

0

1

0x00D5BB84

0

0x00000001

0x00000001

0x00000000

0x1601227F

0

1

0x00D5B414

0

0x00000001

0x00000001

0x00000000

0x1601227F

0

1

0x00D5AE3C

0

0x00000001

0x000207BE

0x00000000

0

0

85

48

SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER | NONE

0x000207BE

0x00000000

0

0

85

48

SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER | NONE

0x00000000

0x00000000

0x00000001

0x00000000

0xF6011515

0

1

0x00D5A73C

0

0x00000001

0x000207BE

0x00000000

0

0

85

48

SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER | NONE

SIZE_RESTORED

85

48

0x00000000

0

1

0x00D5A6C4

0

0x00000000

0xF6011515

0

1

0x00D5B7B4

0

0x00000001

0

1

0x00D5BBDC

0

0x00000000

533

-89

0x00000001

533

-89

0x00000001

533

-89

0x00000001

0x000207BE

HTCLIENT

512

0x00000000

NONE

37

8

0x00000000

0x00000000

0x00000000

0xF6011515

0

1

0x00D5B8D4

0

0x00000001

0

1

0x00D5BCFC

0

0x00000000

533

-89

0x00000001

533

-89

0x00000001

0x0002074A

HTCLIENT

513

0x00000003

0x000207BE

HTCLIENT

513

0x00000000

MK_LBUTTON | NONE

37

8

MK_LBUTTON | NONE

37

8

0xF6011515

0

1

0x00D5B8D4

0

0x00000001

0

1

0x00D5BCFC

0

0x00000000

NONE

37

8

533

-89

0x00000001

0x00000000

0x00000000


Также скриншоты из Spy++:

Код который я использовал для нажатия .

main.cpp:





Код:

SetFocus
(
clidl_rezgim2
)
;
SendMessage
(
qHWND
,
WM_MOUSEACTIVATE
,
0
,
0
)
;
SendMessage
(
qHWND
,
WM_MOUSEMOVE
,
0
,
MAKELPARAM
(
rect
.
left
+
5
,
rect
.
top
+
5
)
)
;
SendMessage
(
qHWND
,
WM_MOUSEMOVE
,
0
,
MAKELPARAM
(
rect
.
left
+
5
,
rect
.
top
+
5
)
)
;
SendMessage
(
qHWND
,
WM_LBUTTONDOWN
,
0
,
MAKELPARAM
(
rect
.
left
+
5
,
rect
.
top
+
5
)
)
;
SendMessage
(
qHWND
,
WM_LBUTTONUP
,
0
,
MAKELPARAM
(
rect
.
left
+
5
,
rect
.
top
+
5
)
)
;
SendMessage
(
qHWND
,
WM_MOUSELEAVE
,
0
,
0
)
;



Проблема старая и не раз откладывалась на полочку в ящик но время идет и доделать надо, мы же развеваемся а вот понять не могу . А версия через перемещение курсора на кнопку и нажатия уже сделана и это не то что ожидалось от самого себя . Помогите пожалуйста )

Спасибо за внимание .

Программа exe. не dll.

x0r1x 07.03.2022 00:25

не эмулируй так нажатия через sendmessagea, эмулируй их через windowproc. т.к. у тебя external программа придётся внедрять твой код через code cave remote thread.

Gafask 08.03.2022 03:25

Цитата:

Сообщение от x0r1x

не эмулируй так нажатия через sendmessagea, эмулируй их через windowproc. т.к. у тебя external программа придётся внедрять твой код через code cave remote thread.

Многое решается я смотрю через windowproc, надо ковырять о ней.

Видел функцию на просторах интернета о низкоуровневом эмуляции нажатия клавиш с возможностью отправки в не активное окно и она работала но была успешно потеряна). По итогу отпишу.


Время: 08:57