 |

07.02.2022, 21:21
|
|
Участник форума
Регистрация: 10.12.2018
Сообщений: 137
С нами:
3908139
Репутация:
23
|
|
Добрый день/вечер/ночь 😇 читатели или слушатели , для кого как .
Сразу к сути проблемы :
Я отравляю 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.
|
|
|

07.03.2022, 00:25
|
|
Участник форума
Регистрация: 12.02.2022
Сообщений: 112
С нами:
2238751
Репутация:
48
|
|
не эмулируй так нажатия через sendmessagea, эмулируй их через windowproc. т.к. у тебя external программа придётся внедрять твой код через code cave remote thread.
|
|
|

08.03.2022, 03:25
|
|
Участник форума
Регистрация: 10.12.2018
Сообщений: 137
С нами:
3908139
Репутация:
23
|
|
Сообщение от x0r1x
не эмулируй так нажатия через sendmessagea, эмулируй их через windowproc. т.к. у тебя external программа придётся внедрять твой код через code cave remote thread.
Многое решается я смотрю через windowproc, надо ковырять о ней.
Видел функцию на просторах интернета о низкоуровневом эмуляции нажатия клавиш с возможностью отправки в не активное окно и она работала но была успешно потеряна). По итогу отпишу.
|
|
|
|
 |
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|