Кибор » Кибор - Интегрированная среда разработки ботов » О программе Кибор » Версия 3.27 sendmessage и postmessage. Отправка любых сообщений в систему

Страниц (6): [1] 2 3 4 5 6 »
 

1. Kibor - 25 Сентября, 2014 - 06:26:41 - перейти к сообщению
Добавил функции sendmessage и postmessage и makelparam .

Функция sendmessage отправляет заданное сообщение окну или окнам. Функция вызывает оконную процедуру для заданного окна и не возвращает значение до тех пор, пока оконная процедура не обработает сообщение.

Функция postmessage помещает (вставляет в очередь) сообщение в очередь сообщений, связанную с потоком, который создал заданное окно и возвращает значение без ожидания потока, который обрабатывает сообщение.

Функция makelparam создает 32-разрядное значение для использования в качестве параметра lParam сообщения. Сцепляет два 16-разрядных значения.

Использовать для отправки другим окнам любых windows сообщений.


синтаксис
sendmessage(WM_HSCROLL, 3, 0, w);
postmessage(WM_HSCROLL, 3, 0, w);

Первый параметр - сообщение. Смотрите список в интернете. Можно указать константу или число int соответствующее этой константе.
Второй параметр - дополнительная конкретизирующая сообщение информация (если надо). Константа или число.
Третий параметр - дополнительная конкретизирующая сообщение информация (если надо)Константа или число.
Четвертый параметр - указатель на окно куда послать сообщение.

Пример прокрутки в блокноте, тут надо дополнительная информация во втором параметре:
6 Прокрутка к далеко в лево.
8 Конечная прокрутка.
0 Левая Прокрутка.
1 Листают право.
2 Листают в лево одну страницу.
3 Листают одну страницу право.
7 Прокрутка далекое в право.
4 Прокрутка к абсолютной позиции.
5 Перетаскивают бегунок к определенной позиции.

CODE:
win w=window (-1, "Edit", window ("Безымянный — Блокнот", "Notepad", -1));
sendmessage(WM_HSCROLL, 3, 0, w);//горизонтально вправо на страницу
sendmessage(WM_VSCROLL, 3, 0, w);//вертикально вправо на страницу



Пример закрытия калькулятора:
CODE:
win w=window ("Калькулятор", "CalcFrame", -1);
sendmessage(WM_CLOSE, 0, 0, w);


Пример печатания в блокноте:
CODE:
postmessage(WM_CHAR, 90, 0, w);//отправить z в свернутый блокнот.. http://filesd.net/kibor/codekeys.php Коды клавиш


Пример шутка, удаляет кнопку 5 с калькулятора win 7)
CODE:
win w=window (-1, "Button", 50, 161, -1, -1, window ("Калькулятор", "CalcFrame", -1));
sendmessage(WM_CLOSE, 0, 0, w);


Поменять шрифт кнопки 5 в калькуляторе wi7 обычный режим
CODE:
win w=window (-1, "Button", 50, 161, 34, 27, window ("Калькулятор", "CalcFrame", -1));
int h_font = CreateFont(-13, 0, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, "Times New Roman");
sendmessage(WM_SETFONT, h_font, 1, w);

Пример получения текста с Edit (Окно "Выполнить") в windowd 7
Указатель получить в шпионе - контрол. Н а поле с текстом выполняемой команды или программы.

CODE:
win w=window (-1, "Edit", window ("Выполнить", "#32770", -1));

char p[100];
sendmessage(WM_GETTEXT,100, address(#p[0]), w);
messagebox (format(#p[0]));



Пример клика левой кнопки мыши
CODE:
int lParam = makelparam(x, y);
postmessage(WM_MOUSEMOVE, 0, lParam, w);
postmessage(WM_LBUTTONDOWN, 1, lParam, w);
sleep(50);
postmessage(WM_LBUTTONUP, 0, lParam, w);


Если пишет что не определен первый параметр - пишите, добавлю. Только сначала проверьте или нет ошибки..
2. nawigatr - 25 Сентября, 2014 - 20:52:47 - перейти к сообщению
Было бы правильнее привести значения первого параметра тут в топике, желательно в шапке...
3. Kibor - 25 Сентября, 2014 - 23:21:12 - перейти к сообщению
Я не против. Давайте список всех сообщений, добавлю))

Пока можете описать эти:
BM_CLICK
WM_MOUSEWHEEL
WM_MOUSEMOVE
WM_LBUTTONDOWN
WM_LBUTTONUP
WM_LBUTTONDBLCLK
WM_RBUTTONDOWN
WM_RBUTTONUP
WM_RBUTTONDBLCLK
WM_MBUTTONDOWN
WM_MBUTTONUP
WM_MBUTTONDBLCLK
WM_PARENTNOTIFY
WM_KEYDOWN
WM_KEYUP
WM_CHAR
WM_DEADCHAR
WM_SYSKEYDOWN
WM_SYSKEYUP
WM_SYSCHAR
WM_SYSDEADCHAR
WM_KEYLAST
WM_INITDIALOG
WM_COMMAND
WM_SYSCOMMAND
WM_TIMER
WM_HSCROLL
WM_VSCROLL
WM_INITMENU
WM_INITMENUPOPUP
WM_MENUSELECT
WM_MENUCHAR
WM_DESTROY
WM_MOVE
WM_SIZE
WM_ACTIVATE
WM_SETFOCUS
WM_KILLFOCUS
WM_ENABLE
WM_SETREDRAW
WM_SETTEXT
WM_GETTEXT
WM_GETTEXTLENGTH
WM_PAINT
WM_CLOSE
WM_QUERYENDSESSION
WM_QUIT
WM_QUERYOPEN
WM_ERASEBKGND
WM_SYSCOLORCHANGE
WM_ENDSESSION
WM_SHOWWINDOW
WM_CTLCOLORMSGBOX
WM_CTLCOLOREDIT
WM_CTLCOLORLISTBOX
WM_CTLCOLORBTN
WM_CTLCOLORDLG
WM_CTLCOLORSCROLLBAR
WM_CTLCOLORSTATIC
WM_WININICHANGE
WM_SETTINGCHANGE
WM_DEVMODECHANGE
WM_ACTIVATEAPP
WM_FONTCHANGE
WM_TIMECHANGE
WM_CANCELMODE
WM_SETCURSOR
WM_MOUSEACTIVATE
WM_CHILDACTIVATE
WM_QUEUESYNC
WM_GETMINMAXINFO
WM_ICONERASEBKGND
WM_NEXTDLGCTL
WM_SPOOLERSTATUS
WM_DRAWITEM
WM_MEASUREITEM
WM_DELETEITEM
WM_VKEYTOITEM
WM_CHARTOITEM
WM_SETFONT
WM_GETFONT
WM_QUERYDRAGICON
WM_COMPAREITEM
WM_COMPACTING
WM_NCCREATE
WM_NCDESTROY
WM_NCCALCSIZE
WM_NCHITTEST
WM_NCPAINT
WM_NCACTIVATE
WM_GETDLGCODE
WM_NCMOUSEMOVE
WM_NCLBUTTONDOWN
WM_NCLBUTTONUP
WM_NCLBUTTONDBLCLK
WM_NCRBUTTONDOWN
WM_NCRBUTTONUP
WM_NCRBUTTONDBLCLK
WM_NCMBUTTONDOWN
WM_NCMBUTTONUP
WM_NCMBUTTONDBLCLK
WM_ENTERIDLE
WM_MDICREATE
WM_MDIDESTROY
WM_MDIACTIVATE
WM_MDIRESTORE
WM_MDINEXT
WM_MDIMAXIMIZE
WM_MDITILE
WM_MDICASCADE
WM_MDIICONARRANGE
WM_MDIGETACTIVE
WM_MDISETMENU
WM_CUT
WM_COPYDATA
WM_COPY
WM_PASTE
WM_CLEAR
WM_UNDO
WM_RENDERFORMAT
WM_RENDERALLFORMATS
WM_DESTROYCLIPBOARD
WM_DRAWCLIPBOARD
WM_PAINTCLIPBOARD
WM_VSCROLLCLIPBOARD
WM_SIZECLIPBOARD
WM_ASKCBFORMATNAME
WM_CHANGECBCHAIN
WM_HSCROLLCLIPBOARD
WM_QUERYNEWPALETTE
WM_PALETTEISCHANGING
WM_PALETTECHANGED
WM_DROPFILES
WM_POWER
WM_WINDOWPOSCHANGED
WM_WINDOWPOSCHANGING
WM_HELP
WM_NOTIFY
WM_CONTEXTMENU
WM_TCARD
WM_MDIREFRESHMENU
WM_MOVING
WM_STYLECHANGED
WM_STYLECHANGING
WM_SIZING
WM_SETHOTKEY
WM_PRINT
WM_PRINTCLIENT
WM_POWERBROADCAST
WM_HOTKEY
WM_GETICON
WM_EXITMENULOOP
WM_ENTERMENULOOP
WM_DISPLAYCHANGE
WM_STYLECHANGED
4. Skycrew - 29 Сентября, 2014 - 15:46:01 - перейти к сообщению
Скажите, а нет подвижек с обходом антикликера Game Guard (сейчас там работают только клики без движения)?
5. Kibor - 29 Сентября, 2014 - 23:34:11 - перейти к сообщению
 Skycrew пишет:
Скажите, а нет подвижек с обходом антикликера Game Guard (сейчас там работают только клики без движения)?

пока нет.. не до этого было. но думаю что сделаю как будет время. там все ясно.

добавил..
сделал обход всего.(для просмотра ссылки Вам необходимо авторизоваться)
6. Dantes3000 - 14 Февраля, 2017 - 06:22:48 - перейти к сообщению
а есть сообщение для этого?

Нажмите для увеличения
7. Kibor - 14 Февраля, 2017 - 08:30:55 - перейти к сообщению
Есть . Я не помню. Надо искать в интернете..
8. Dantes3000 - 14 Февраля, 2017 - 08:59:58 - перейти к сообщению
в WM_SYSCOMMAND
есть SC_MAXIMIZE

как это использовать? Сначала WM отсылать, потом SC или как?
9. Kibor - 14 Февраля, 2017 - 09:11:31 - перейти к сообщению
SC_MAXIMIZE искать по запросу
 Цитата:
SC_MAXIMIZE константа.

sendmessage(WM_SYSCOMMAND, 61472, 0, w);свернуть
sendmessage(WM_SYSCOMMAND, 61488, 0, w);развернуть
10. pashahous - 14 Февраля, 2017 - 14:17:23 - перейти к сообщению
w.width=948; //свой размер
w.height=628;// свой размер
movewindow(w);
т.е. можешь сам задать размер окна

Powered by ExBB FM 1.0 Final