Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: pifi on October 30, 2019, 02:45:05 PM
-
Подскажите пожалуйста как через " postmessage " прокрутку колесика мышки осуществить.
-
Не нужно колесо крутить, дави стрелки.
Можешь и через WM_VSCROLL, но тоже не везде работает. В Notepad++ работает, в мозиле пока не получилось. Может не тому окну шлю.
Сообщение WM_VSCROLL = 0x0115
Значения wParam
SB_LINEUP = 0
SB_LINEDOWN = 1
SB_PAGEUP = 2
SB_PAGEDOWN = 3
SB_THUMBPOSITION = 4
SB_THUMBTRACK = 5
SB_TOP = 6
SB_BOTTOM = 7
SB_ENDSCROLL = 8
lParam = 0 или хендл полосы прокрутки (что у нас, естественно нет).
Вниз на 1 линию
$hwnd = 67826
$WM_VSCROLL = 0x0115
POSTMESSAGE($hwnd, $WM_VSCROLL, 1, 0)
Вниз на страницу
POSTMESSAGE($hwnd, $WM_VSCROLL, 3, 0)
В самый низ в конец
POSTMESSAGE($hwnd, $WM_VSCROLL, 7, 0)
-
Большое спасибо !
в хроме, блокнотах и.т.д работает, а вот в мозиле тоже нет.
хотя если вот так:
POSTMESSAGE($hwnd, $WM_VSCROLL, 1,1)
то работает и в мозиле.
-
Я так тоже пробовал, не работало.
На самом деле это сообщение шлёт полоса прокрутки родительскому окну.
В мануале написано:
lParam
If the message is sent by a scroll bar control, this parameter is the handle to the scroll bar control. If the message is sent by a standard scroll bar, this parameter is NULL.
"Если сообщение отправлено элементом управления полосой прокрутки, этот параметр является дескриптором элемента управления полосы прокрутки. Если сообщение отправляется с помощью стандартной полосы прокрутки, этот параметр имеет значение NULL."
Нам от этого ни холодно не жарко. Если полоса прокрутки стандартная - ставим 0 (хотя это не NULL, а как поставить NULL ХЗ). Если нестандартная, у нас всё равно нет дискриптора.