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

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

 Страниц (19): В начало « 10 11 12 13 [14] 15 16 17 18 » В конец    

> Описание: Продолжение
Zireael
Отправлено: 14 Сентября, 2019 - 18:54:33
Post Id



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


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




 Цитата:
Как сделать через fopen принцип "если открыл файл, то записать это в переменную 1, если не открыл, то записать в переменную 0".

Детский сад, штаны на лямках.
 Цитата:
Как мне добавить переменную "скорость полосы загрузки"?

CODE:
double speed=0.2; // чем меньше, тем быстрее выполнится цикл
for(int i=0; i<100; i++)sleep(100*speed);
 
 Top
007wan
Отправлено: 14 Сентября, 2019 - 19:02:19
Post Id



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


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




Хорошо .как проверить файл не только на наличие, а на оригинальность,например,было изображение и его изменили.
 
 Top
Zireael
Отправлено: 14 Сентября, 2019 - 19:12:29
Post Id



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


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




 Цитата:
как проверить файл не только на наличие, а на оригинальность,например,было изображение и его изменили.

findimage.
 
 Top
007wan
Отправлено: 14 Сентября, 2019 - 19:25:18
Post Id



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


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




А если exe? А бинарный режим открытия?
 
 Top
007wan
Отправлено: 15 Сентября, 2019 - 08:10:35
Post Id



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


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




 Zireael пишет:
 Цитата:
как проверить файл не только на наличие, а на оригинальность,например,было изображение и его изменили.

findimage.
Как? Зачем искать?
(Добавление)
Как извлечь какую-то характеристику изображения, которая меняется с изменение изображение, например, какая-то сумма цветных пикселей. Тоесть нужна характеристика, которая меняется при изменении пикселя(пикселей изображений), а так же размера в целом. Но не размер файла(пробовал изменить в паинте bmp того же изображений ручкой 1 пиксель и не поменялось ничего). Может какую-то цифру получить для сравнения или еще чего.
 
 Top
Zireael
Отправлено: 15 Сентября, 2019 - 10:20:10
Post Id



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


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




 Цитата:
Зачем искать?

Чтобы проверить совпадает картинка или нет. Тут скорее вопрос зачем вообще это проверять, если пользователь подменил картинку и бот перестал работать это проблемы пользователя.
 
 Top
007wan
Отправлено: 15 Сентября, 2019 - 10:22:43
Post Id



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


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




 Zireael пишет:
Тут скорее вопрос зачем вообще это проверять, если пользователь подменил картинку и бот перестал работать это проблемы пользователя.
Ну очень нужно, пожалуйста. Потом скажу зачем, а то не согласишься. Или реально не согласишься после второго предложения? НУ пж.

(Отредактировано автором: 15 Сентября, 2019 - 10:23:08)

 
 Top
Zireael
Отправлено: 15 Сентября, 2019 - 12:11:24
Post Id



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


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




 Цитата:
как проверить файл не только на наличие, а на оригинальность

https://drive.google.com/open?id...IPzn5T8Nk_O4SSmZ
Закинуть длл в папку с кибор.
CODE:
external(INT, "HashMD5", "HashMD5", pathfolder()+"HashMD5.dll");

string filename="C:\2.bmp"; // имя файла
char md5[32]; // сюда запишется хеш
initialarray(#md5[0], 0);
if(HashMD5(filename, address(#md5[0])))messagebox(format(#md5[0]));

// можно сравнивать
//if(format(#md5[0]) == "634ed65190810f22b86e929a5d45ecc0")messagebox("+++"); // если хеш совпадает, то файлы идентичны
 
 Top
007wan
Отправлено: 15 Сентября, 2019 - 12:18:34
Post Id



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


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




Вауууу
(Добавление)
Вообще мне она нужна была, что бы перед запуском прямоугольника с полосой загрузкой проверял хеш всех картинок, и записывал те, которые совпадают будут равны 1, а другие 0.
Потом запускается прямоугольник с полосой загрузки и начинает загружать не ВСЕ и не обычной скоростью, а чем меньше изображений(взависимости от их количества: меньше - быстрее грузит, а больше - медленнее), загрузит, например, изображение, которое не совпадает с хешом, а уже потом ускорит полосу загрузки - как то так)) Ну лишняя работа, но unpack получает только: Есть(не распаковывать), нету(распаковать), а хеш он не проверяет, поэтому ТАК)
(Добавление)
Zireael , А как сделать, что бы при открытия меню не мигало? Просто где кнопка "Настройки" вверху (меню) при нажатии он считывает координаты и мигает при открытии настроек. Я не могу методом тыка как-то высчитать, что бы не брал во внимание зону с квадратиком "настройки" (кнопка)
CODE:
#define WS_VISIBLE 268435456
#define WS_CHILD 1073741824
#define WS_BORDER 8388608
#define FLASHW_CAPTION 1

external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "FlashWindowEx", "FlashWindowEx", "User32.dll" );
external(INT, "EnableWindow", "EnableWindow", "User32.dll" );
external(INT, "PtInRect", "PtInRect", "User32.dll" );
external(INT, "WindowFromPoint", "WindowFromPoint", "User32.dll" );


win dialog;
int b0;
int rect_dialog[4], mouse_x, mouse_y;
int FLASHWINFO[5]={20, 0, FLASHW_CAPTION, 7, 10}

createdialog(0);
showdialog(0, "Диалог1",100, 100, 500, 500, 1, 0);


enabletimer(0);
loop()sleep(10);


function getmessage(0, WM_CREATE)
{
dialog=formatiw(gethwnd(0));
b0=CreateWindow(0, "BUTTON", "Кнопка", WS_BORDER | WS_CHILD | WS_VISIBLE, 10, 10, 80, 25, gethwnd(0), 0, 0, 0);
}

function getmessage(1, WM_CREATE)
{
EnableWindow(gethwnd(0), 0);

FLASHWINFO[1] = gethwnd(1);

}

function getmessage(0, WM_COMMAND)
{
if(message.lparam == b0)
{
createdialog(1);
showdialog(1, "Диалог2",200, 200, 300, 300, 4, 1);
}
}

function getmessage(1, WM_CLOSE)
{
destroydialog(1);
EnableWindow(gethwnd(0), 1);
}

CREATE_TIMER(0, 30)
{
if(getkeystate(1) || getkeystate(2))
{
setwindowparam(dialog);
getmouse(mouse_x, mouse_y);

rect_dialog[0] = dialog.left;
rect_dialog[1] = dialog.top;//где тут ту сделать расчет, что бы ервую кнопку на панели меню 'Настройки' не брал во внимание.
rect_dialog[2] = dialog.left+dialog.width;
rect_dialog[3] = dialog.top+dialog.height;

if(WindowFromPoint(mouse_x, mouse_y) != gethwnd(1))
{
if(PtInRect(address(#rect_dialog[0]), mouse_x, mouse_y))
{
FlashWindowEx(address(#FLASHWINFO[0]));
return;
}
}
}
}

(Добавление)
А можно к
CODE:
Rect_Dialog[1] = MainWindow.top;
прибавить 45 или же ко всем прибавить текстclient
CODE:
Rect_Dialog[0] = MainWindow.leftclient;
Rect_Dialog[1] = MainWindow.topclient;//45
Rect_Dialog[2] = MainWindow.leftclient+MainWindow.widthclient;
Rect_Dialog[3] = MainWindow.topclient+MainWindow.heightclient;


(Добавление)
Ну или проще: Добавите переменную - флаг, которая будет изменять свое состояние во время открытия настроек и закрытия, и при открытии будет в положительную сторону, т.е разрешать мигание при открытии, а при закрытии - запрещать
(Добавление)
 007wan пишет:
Ну или проще: Добавите переменную - флаг
Предпочтительным будет, т.к что бы при открытых настройках и при нажатии на меню(панели) настроек тоже мигало, но тогда нужно убрать client рядом со словами
(Добавление)
Хотя я лучше буду передавать в эту фукцию, которая мигает: 1)Разрешать или не разрешать мигать при открытых настройках.
2)Указатель на нужный диалог(Если нужно мигать нескольким окнам)
(Добавление)
Zireael , при добавлении контрола во второе окно - нажимаем - мигает. Пока не нахожу решение как избавится от мигания при нажатие на контролы.
Код (Отобразить)

(Добавление)
А хотя если чисто логически, то
CODE:
if(WindowFromPoint(Mouse_x, Mouse_y) != gethwnd(1) && WindowFromPoint(Mouse_x, Mouse_y) != gethwnd(2) && WindowFromPoint(Mouse_x, Mouse_y) != Object_Group..остальные контролы)

(Отредактировано автором: 15 Сентября, 2019 - 12:26:13)

 
 Top
007wan
Отправлено: 16 Сентября, 2019 - 14:33:18
Post Id



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


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




Не работает for
CODE:
if (Flash == 1)
{
if(getkeystate(1) || getkeystate(2))
{
setwindowparam(MainWindow);
getmouse(Mouse_x, Mouse_y);

Rect_Dialog[0] = MainWindow.left;
Rect_Dialog[1] = MainWindow.top;
Rect_Dialog[2] = MainWindow.left+MainWindow.width;
Rect_Dialog[3] = MainWindow.top+MainWindow.height;

int Handle_Controls = WindowFromPoint(Mouse_x, Mouse_y);

for (int ia=0; ia<sizearray(Object_Checkbox); ia++)
{
if (Handle_Controls != gethwnd(1) &&
Handle_Controls != Object_Checkbox[ia])//не работает для вех контролов, их всего 5
{
if(PtInRect(address(#Rect_Dialog[0]), Mouse_x, Mouse_y))
{
FlashWindowEx(address(#FLASHWINFO[0]));
return;
}
}
}

}
}

(Добавление)
Чо за дичь?
CODE:
if (Flash == 1)
{
if(getkeystate(1) || getkeystate(2))
{
setwindowparam(MainWindow);
getmouse(Mouse_x, Mouse_y);

Rect_Dialog[0] = MainWindow.left;
Rect_Dialog[1] = MainWindow.top;
Rect_Dialog[2] = MainWindow.left+MainWindow.width;
Rect_Dialog[3] = MainWindow.top+MainWindow.height;

int Handle_Controls = WindowFromPoint(Mouse_x, Mouse_y);

for (int ia=0; ia<sizearray(Object_Checkbox); ia++)
{
if (Handle_Controls != gethwnd(1) &&
Handle_Controls != Object_Checkbox[ia] &&//так не работает с циклом эта строчка
Handle_Controls != Object_Checkbox2[ia] &&//так не работает с циклом эта строчка
Handle_Controls != gethwnd(2) &&
Handle_Controls != Object_Static1 &&
Handle_Controls != Object_Static2 &&
Handle_Controls != Object_Static3 &&
Handle_Controls != Object_Static4 &&
Handle_Controls != Object_Static5 &&
Handle_Controls != Object_Edit1 &&
Handle_Controls != Object_Button3)
{
if(PtInRect(address(#Rect_Dialog[0]), Mouse_x, Mouse_y))
{
FlashWindowEx(address(#FLASHWINFO[0]));

break;
}
}
}
}
}
CODE:
Handle_Controls != Object_Checkbox[0] &&//так работает эта строчка
Handle_Controls != Object_Checkbox2[1] &&//так работает строчка

Object_Checkbox и Object_Checkbox2 эта 2 группы галочек. Просто разделены так, что бы не путатся. Столбец галочек короче.
 
 Top
Страниц (19): В начало « 10 11 12 13 [14] 15 16 17 18 » В конец
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by