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

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

 Страниц (1): [1]   

> Описание: Переключение окон в однотипной игре.
jkdfjkldfslkjds
Отправлено: 30 Ноября, 2023 - 21:03:05
Post Id



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


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




Здравствуйте.
Выполняю такой код:
<code>
win w[];
Find_Window(#w[0], "ElementClient Window"Подмигивание;

function Find_Window(win #w, string class)
{
external(INT, "FindWindow", "FindWindowExA", "user32.dll"Подмигивание;
int n=0, handle=FindWindow(0, 0, class, 0);;
while (handle!=0)
{
w[n]=formatiw(handle); n++;
handle=FindWindow(0, handle, class, 0);
}
return n;
}

activate(w[0]);
sleep(500);
activate(w[1]);
sleep(500);
activate(w[2]);
sleep(500);
activate(w[3]);
sleep(500);
activate(w[4]);
sleep(500);
activate(w[5]);
sleep(500);
activate(w[6]);
sleep(500);
activate(w[7]);
sleep(500);
activate(w[8]);
sleep(500);
</code>
То есть окна переключаются в разной последовательности, но. Массив всё время меняеется.То бишь в зависимости от последнего переключения.Допустим, если я протыкал вручную окна с 1 до 9, то они переключаются при запуске скрипта с 9 до 1. Как сделать, чтобы они работали независимо и чётко под своими номерами?
 
 Top
resident
Отправлено: 01 Декабря, 2023 - 00:56:33
Post Id



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


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




Если платная версия, то запускать кибор с экрана содержащим id или ник, распознавать и сделать сопоставление ника и окна. Прописать массив с никами(id) и перебирать его.
 
 Top
Zireael
Отправлено: 01 Декабря, 2023 - 02:22:46
Post Id



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


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




 Цитата:
<code>
</code>

Вместо угловых квадратные скобки должны быть.
 Цитата:
win w[];

Нужно указывать размер массива.
 Цитата:
win #w

Указатель на win нельзя передать.

Найти окна блокнота, активировать их в том порядке, в котором они расположены на панели задач:
CODE:
#define TH32CS_SNAPPROCESS 2
external(INT, "CreateToolhelp32Snapshot", "CreateToolhelp32Snapshot", "Kernel32.dll");
external(INT, "Process32First", "Process32First", "Kernel32.dll");
external(INT, "Process32Next", "Process32Next", "Kernel32.dll");
external(INT, "CloseHandle", "CloseHandle", "Kernel32.dll");


win tmp[100];
win w[10];

int k = FindWindow("notepad.exe"); // имя процесса
messagebox("Всего найдено окон: " +format(k));
for(int i=0; i<k; i++)
{
activate(w[i]);
sleep(500);
}


function FindWindow(string NameProcess)
{
int Count=0;
char PROCESSENTRY32[296];
int PID;
int hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(hSnapshot)
{
writeaddress(sizearray(PROCESSENTRY32), address(#PROCESSENTRY32[0]));
Process32First(hSnapshot, address(#PROCESSENTRY32[0]));

if(format(#PROCESSENTRY32[36]) == NameProcess)
{
PID = codhexi(#PROCESSENTRY32[8], 4);

if(listwinprocess(#tmp[0], PID) > 0)
{
w[Count] = tmp[0];
setwindowparam(w[Count]);
Count++;
}
}
while(Process32Next(hSnapshot, address(#PROCESSENTRY32[0])))
{
if(format(#PROCESSENTRY32[36])==NameProcess)
{
PID = codhexi(#PROCESSENTRY32[8], 4);
if(listwinprocess(#tmp[0], PID) > 0)
{
w[Count] = tmp[0];
setwindowparam(w[Count]);
Count++;
}
}
}
CloseHandle(hSnapshot);
}
return Count;
}
 
 Top
jkdfjkldfslkjds
Отправлено: 01 Декабря, 2023 - 10:08:00
Post Id



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


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




Всё работает, всё отлично.Благодарю, очень выручили!А ещё такой вопрос интересный..может не уместный здесь, но всё же. С РФ можно щас полную версию купить или проблемно?
 
 Top
Zireael
Отправлено: 01 Декабря, 2023 - 10:22:30
Post Id



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


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




 Цитата:
С РФ можно щас полную версию купить или проблемно?

https://myxa.cc/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by