Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » listwinprocess не ищет окна

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

1. SOLNCE - 25 Апреля, 2021 - 12:53:47 - перейти к сообщению
Открываю 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);
}
}

2. Kibor - 25 Апреля, 2021 - 13:17:25 - перейти к сообщению
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]);
}
}
3. SOLNCE - 25 Апреля, 2021 - 14:05:59 - перейти к сообщению
Да, спасибо, буду пробовать
4. Zireael - 25 Апреля, 2021 - 14:22:48 - перейти к сообщению
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]);

Powered by ExBB FM 1.0 Final