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

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

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

> Без описания
SOLNCE
Отправлено: 25 Апреля, 2021 - 20:53:47
Post Id



Пользователь
Наблюдатель


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




Открываю 2 блокнота, запускаю программу и по месаджбоксам видно что он находит только одно окно, в чем может быть дело?
CODE:

int PID;
win w[100];
int klist;
int n;

PID=findprocess("notepad.exe");
if (PID>0)
{
klist=listwinprocess(#w[0], PID);
messagebox(klist);
for (n=0; n<klist; n++)
{
setwindowparam (w[n]);
messagebox(n);
}
}

 
 Top
Kibor
Отправлено: 25 Апреля, 2021 - 21:17:25
Post Id



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


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




listwinprocess ищет контролы в окне с указателем
Вам надо listprocess
Это функции разные.

Вам надо что то типа

CODE:
int klist;
int n;
string Name[1000];
int Pid[1000];
win w[100];
klist=listprocess (#Name[0], #Pid[0]);
for (n=0; n<klist; n++)
{
if (Name[n]=="notepad.exe")
{
int k=listwinprocess(#w[0], Pid[n]);
setwindowparam (w[0]);
messagebox (w.name[0]);
}
}


Или такой, если не хотите зависеть от открытых доченых окон. Таких как "поиск" "шрифт"..

CODE:
int klist;
int n;
string Name[1000];
int Pid[1000];
win w[100];
klist=listprocess (#Name[0], #Pid[0]);
for (n=0; n<klist; n++)
{
if (Name[n]=="notepad.exe")
{
int k=listwinprocess(#w[0], Pid[n]);
setwindowparam (w[k-1]);
messagebox (w.name[k-1]);
}
}
 
 Top
SOLNCE
Отправлено: 25 Апреля, 2021 - 22:05:59
Post Id



Пользователь
Наблюдатель


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




Да, спасибо, буду пробовать
 
 Top
Zireael
Отправлено: 25 Апреля, 2021 - 22:22:48
Post Id



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


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




CODE:
int klist;
int n;
string Name[1000];
int Pid[1000];
win w[100];
int count=0;

klist=listprocess (#Name[0], #Pid[0])-1; // -1 пока не исправлен баг

for (n=0; n<klist; n++)
{
if (Name[n]=="notepad.exe")
{
listwinprocess(#w[count], Pid[n]);
setwindowparam (w[count]);
count++;
}
}

messagebox("Всего найдено окон: " +format(count));
for(int i=0; i<count; i++)messagebox ("Имя окна: "+w.name[i]);
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by