Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

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

> Описание: Справка по некоторым функциям Кибор
Kibor
Отправлено: 19 Августа, 2020 - 12:01:44
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




Добавил прокрутку ролика мыши в mouse и sendmouse
Для прокрутки ролика мыши необходимо первым параметром указать WHEEL

Пример прокрутки в активном окне:

Прокручивает на 2 щелчка вверх
CODE:
mouse(WHEEL, 2);


Прокручивает на 2 щелчка вниз
CODE:
mouse(WHEEL, -2);


Так же само прокручивает в активном окне.
3 параметр указывает:
0 - не активировать окно с указателем в 4 параметре w
1 - перед прокруткой активировать окно с указателем в 4 параметре w
Указатель надо давать на главное окно, а не на контрол в котором есть скролл, так как активируется главное окно, а не контрол.
CODE:
mouse(WHEEL, 2, 1, w);


================================

Прокрутка в не активном окне:

В данном случае третьим параметром надо давать указатель на контрол в котором есть скролл, так как сообщение передается скролу, а не главному окну.
CODE:
sendmouse(WHEEL, -2, w);


=============================================


Пояснение по поводу указателей.
На примере блокнота.

Блокнот имеет главное окно и контрол EDIT , который расположен на главной форме и в котором есть сролл.

В шпионе Кибор вверху будет указатель на главную форму, внизу на контролл.

Для mouse надо давать указатель на главную форму. Для sendmouse на контролл.

CODE:
win w=window (-1, "Notepad", -1); // Указатель на главную фому
mouse(WHEEL, -2, 1, w);
pause(1000);


CODE:
win w=window (-1, "Edit", window (-1, "Notepad", -1)); // Указатель на контролл
sendmouse(WHEEL, -2, w);
pause(1000);
 
 Top
Flash
Отправлено: 26 Сентября, 2020 - 15:46:37
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 57
Дата рег-ции: Нояб. 2015  
Откуда: Лангепас
Репутация: 0




Доброго времени, можно ли в примере (k+n) вместо знака "+" поставить (любую) переменную например string znak="+"; ?

int k=1;
int n=2;
string znak="+";

if(k+n==3)messagebox(format(k+n));
 
 Top
Kibor
Отправлено: 26 Сентября, 2020 - 16:50:32
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




Нет.
Только условиями
CODE:
if (znak=="+")
{
if(k+n==3)messagebox(format(k+n));
}
if (znak=="-")
{
if(k-n==3)messagebox(format(k-n));
}
 
 Top
Flash
Отправлено: 26 Сентября, 2020 - 23:20:15
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 57
Дата рег-ции: Нояб. 2015  
Откуда: Лангепас
Репутация: 0




[quote=Kibor]Нет.
Это да, я уже понял. Получается что если надо решить 10 примеров (только на +) или вывести диалоговое окно в нужно месте (x/2-100) или (x/2+100) то тогда надо заготовить 20 примеров (на + и на -) и создавать 2 showdialog в зависимости от разных ситуаций.
 
 Top
Zireael
Отправлено: 26 Сентября, 2020 - 23:28:38
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4397
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
Получается что если надо решить 10 примеров (только на +) или вывести диалоговое окно в нужно месте (x/2-100) или (x/2+100) то тогда надо заготовить 20 примеров (на + и на -)

Нет.
Будет проще если вы напишите что хотите сделать.
 
 Top
Flash
Отправлено: 27 Сентября, 2020 - 00:14:00
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 57
Дата рег-ции: Нояб. 2015  
Откуда: Лангепас
Репутация: 0




[quote=Zireael][quote]
Да я хотел прицел перемещать в зависимости о ситуации. И догадался)) можно же int в отрицательную величину отнимать.

int col, x, y;
getdisplay(col, x, y);

int color[1][1];
color[0][0]=255;

int razmer=1000;

int k=-300; // -300 по x


primer();
messagebox("точка с лево");


k=300;// +300 по x
disablevisualwindow(0);update(-1);
primer();
messagebox("точка с право");



function primer()
{
visualwindow(0, 0, 0, 1, 1, x/2+k, y/2, razmer, #color[0][0]);
}

а я там городил 2 функции primer() и на плюс и на минус. К томуже у меня несколько visualwindow
(Добавление)
Доброго времени, есть игра (шутер) но send(mouse/key) не работают это может быть связано с античитом? Ни в полном экране не работает ни в окне. Но с окном могу работать (переименовать сдвиг и т.д) а send(mouse/key) не работает.

(Отредактировано автором: 27 Сентября, 2020 - 00:33:53)

 
 Top
konctantin777
Отправлено: 16 Ноября, 2020 - 20:39:06
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1136
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




 Kibor пишет:
CODE:
key("qwert");//Жмем клавиши qwert


Как между нажатиями кнопки сделать паузу 50-150 ? keymouserand ведь только от нуля ? А если переменную (с текстом) вставить в визуальный, то печатает букву переменной...
 
 Top
Zireael
Отправлено: 17 Ноября, 2020 - 00:44:06
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4397
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
Как между нажатиями кнопки сделать паузу 50-150 ?

CODE:
pause(3000); // пауза чтобы переключиться на окно, в котором напечатать текст
_key("qwert", 100); // текст, пауза

function _key(string text, int wait)
{
char c_text[999];
strcpy(#c_text[0], text);
int size_text = size(text);
for(int i=0; i<size_text; i++)
{
key(c_text[i]);
sleep(wait);
}
}
 
 Top
MaxarsP
Отправлено: 23 Ноября, 2020 - 11:36:56
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 6
Дата рег-ции: Янв. 2020  
Откуда: Одесса
Репутация: 0




Скажите пожалуйста , а что в неактивном окне sendmouse(WHEEL, -2, w); нет параметров указания в каком именно месте делать скролл? Получается только sendmousemove можно , по другому не как?
 
 Top
Zireael
Отправлено: 23 Ноября, 2020 - 12:31:57
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4397
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
sendmouse(WHEEL, -2, w); нет параметров указания в каком именно месте делать скролл?

CODE:
external(INT, "ClientToScreen", "ClientToScreen", "User32.dll");


win w=window ("TheRender", "RenderWindow", window ("LDPlayer", "LDPlayerMainFrame", -1)); // окно
if(w) // если окно найдено
{
int x=500; // координата X
int y=400; // координата Y

mousewheel(w, x, y, -2); // на 2 щелчка вниз
sleep(2000);
mousewheel(w, x, y, 3); // на 3 щелчка верх
}
else messagebox("Окно не найдено");



function mousewheel(win w, int x, int y, int delta)
{
int Point[2];
Point[0] = x; Point[1] = y;
ClientToScreen (formatwi(w), address(#Point[0]));
sendmessage(WM_MOUSEWHEEL, delta*120*65536, Point[0]+Point[1]*65536, w);
}
 
 Top
Страниц (9): « 1 2 [3] 4 5 6 7 8 9 »
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0)
« О программе Кибор »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by