Кибор » Кибор - Интегрированная среда разработки ботов » О программе Кибор » Версия 5.85 Поиск и / или получение списков процессов

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

1. Kibor - 16 Марта, 2021 - 11:12:10 - перейти к сообщению
findprocess
Ищет процесс по его имени.
Возвращает его PID или -1 если процесс не найден.

Синтаксис:
CODE:
int PID=findprocess("notepad.exe");
messagebox(PID);



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


listprocess
Получает список всех процессов.
В виде параметров принимает:
1 - указатель на массив string, в который запишутся имена процессов.
2 - указатель на массив int, в который запишутся их PIDы
Возвращает количество найденных процессов или -1 если какой то массив меньше чем количество.

Пример:
CODE:

string Name[1000];
int Pid[1000];
int k=listprocess (#Name[0], #Pid[0]);
for (int n=0; n<k; n++)
{
if (Name[n]=="notepad.exe") {messagebox (Pid[n]); break;}
}



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


PID может применяться в функции openprocess для открытия его для чтения/записи в память и тд.



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





Пример как убить процесс:
CODE:
external(INT, "TerminateProcess", "TerminateProcess", "Kernel32.dll");

int Pid=findprocess("notepad.exe");
if (Pid>-1)
{
TerminateProcess(openprocess(Pid), 9);
}



--------------------------------------


Получение PID процесса по указателю на окно.
CODE:
external(INT, "GetWindowThreadProcessId", "GetWindowThreadProcessId", "User32.dll");

win w=window (-1, "MozillaWindowClass", -1);
int Hwnd=formatwi(w);
int pid=0;
GetWindowThreadProcessId(Hwnd, address(#pid));
messagebox (pid);



-----------------------------------------


Получение списка всех окон процесса, по указателю на любое открытое окно этим процессом или на любой контрол.
Пример получения указателей на окна блокнота с указателя на открытое дочерное окно "Заменить".
CODE:
external(INT, "GetWindowThreadProcessId", "GetWindowThreadProcessId", "User32.dll");

win t=window ("Заменить", "#32770", -1);
if (t)
{
int pid=0;
if(GetWindowThreadProcessId(formatwi(t), address(#pid)))
{
win w[100];
int k=listwinprocess(#w[0], pid);
for (int n=0; n<k; n++)
{
setwindowparam (w[n]);
messagebox (w.name[n]+" - "+w.class[n]+" -- "+format(w.left[n])+" - "+format(w.widthclient[n]));
}
}
}
2. 10970 - 09 Сентября, 2022 - 17:49:01 - перейти к сообщению
string Name[1000];
int Pid[1000];
int k=listprocess (#Name[0], #Pid[0]);
for (int n=0; n<k; n++)
{
if (Name[n]=="notepad.exe"Подмигивание {messagebox (Pid[n]); break;}

Не выводит этот код количество найденных процессов. Выводит 4х значное число.Запустил 3 блокнота, запустил скрипт получил 8944. И так со всеми приложениями. Не пойму это тупо пид выводится? А как узнать количество запущеных одинаковых процессов? И еще вопрос. Если переименовать экзешник, название процесса тоже меняется, и пид соответственно тоже?
Но количество запущенных процессов по имени все таки тоже интересно узнать.
3. Zireael - 09 Сентября, 2022 - 18:16:35 - перейти к сообщению
 Цитата:
А как узнать количество запущеных одинаковых процессов?

CODE:
string Name[1000];
int Pid[1000];
int k=listprocess (#Name[0], #Pid[0]);
messagebox("Найдено процессов: "+format(k));

int count=0;
for (int n=0; n<k; n++)
{
if (Name[n]=="notepad.exe")count++;
}
messagebox("Всего notepad.exe: "+format(count));
4. 10970 - 09 Сентября, 2022 - 18:28:05 - перейти к сообщению
 Zireael пишет:
 Цитата:
А как узнать количество запущеных одинаковых процессов?

CODE:
string Name[1000];
int Pid[1000];
int k=listprocess (#Name[0], #Pid[0]);
messagebox("Найдено процессов: "+format(k));

int count=0;
for (int n=0; n<k; n++)
{
if (Name[n]=="notepad.exe")count++;
}
messagebox("Всего notepad.exe: "+format(count));


Спасибо уважаемый.
5. 10970 - 09 Сентября, 2022 - 22:06:56 - перейти к сообщению
Zireael ,
как вам можно написать в лс? не вижу ни каких ссылок. У меня есть готовый код, но я слабо понимаю в питоне. Там подправить буквально пару строк..
Может быть найдете время посмотреть?
6. Zireael - 10 Сентября, 2022 - 09:20:27 - перейти к сообщению
 Цитата:
как вам можно написать в лс?

https://ibb.co/PZqCYGh
7. 10970 - 10 Сентября, 2022 - 16:36:29 - перейти к сообщению
Написал вам в ЛС.
По работе нарисовалась проблема.
Когда создаешь экзешник с упаковкой там всего что надо +питон, то при наличии галки активировать антианти чит впоследствии экзешник НЕ работает.
При запуске вместо самого экзешника запускается антианти чит, закрывается с ошибкой и все.(смотрел при запуске в дисп задач) На этом все останавливается. Если эту галку убрать все работает нормально.
Не проверял работу данной упаковки БЕЗ питона.
8. 10970 - 12 Сентября, 2022 - 02:33:45 - перейти к сообщению
ну вы как нить отреагируйте, реальная же проблема.. Не работает упаковка скрипта в ехе правильно если включено одновременно галки антианти чит и питон..

Powered by ExBB FM 1.0 Final