Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Закрыть программу, завершить процесс

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

1. koba - 09 Сентября, 2021 - 08:56:18 - перейти к сообщению
Какая команда код для закрытия определенной программы, завершения процесса?
или это невозможно в Киборе?
Windows10
2. KevinS - 09 Сентября, 2021 - 14:37:41 - перейти к сообщению
 koba пишет:
Какая команда код для закрытия определенной программы, завершения процесса?
или это невозможно в Киборе?
Windows10


В играх я использую alt+F4 через sendkey
3. koba - 09 Сентября, 2021 - 17:48:22 - перейти к сообщению
 KevinS пишет:
В играх я использую alt+F4 через sendkey

причем тут игра, мне надо процессор закрыть определенную программу в диспетчере задач,
которая допустим вообще не имеет окна.

Команда запуска файлов .ехе в Киборе есть, а команды их закрытия и выхода нет что ли?
4. Zireael - 09 Сентября, 2021 - 18:07:40 - перейти к сообщению
 Цитата:
завершить процесс

CODE:
external(INT, "GetExitCodeProcess", "GetExitCodeProcess", "Kernel32.dll");
external(INT, "TerminateProcess", "TerminateProcess", "Kernel32.dll");
external(INT, "CloseHandle", "CloseHandle", "Kernel32.dll");

int PID=findprocess("notepad.exe"); // поиск процесса
if(PID!=-1)
{
int hProcess = openprocess(PID);
int ExitCode;
GetExitCodeProcess(hProcess, address(#ExitCode));
TerminateProcess(hProcess, ExitCode); // закрыть процесс
CloseHandle(hProcess);
}
else messagebox("Процесс не найден");
5. koba - 09 Сентября, 2021 - 19:22:54 - перейти к сообщению
Zireael
то что доктор прописал!
Единственное сначала не удалял некоторые процессы программы,
включил запуск от администратора, и порядок.
6. Vasic1337 - 21 Сентября, 2024 - 05:00:12 - перейти к сообщению
 Zireael пишет:
 Цитата:
завершить процесс

CODE:
external(INT, "GetExitCodeProcess", "GetExitCodeProcess", "Kernel32.dll");
external(INT, "TerminateProcess", "TerminateProcess", "Kernel32.dll");
external(INT, "CloseHandle", "CloseHandle", "Kernel32.dll");

int PID=findprocess("notepad.exe"); // поиск процесса
if(PID!=-1)
{
int hProcess = openprocess(PID);
int ExitCode;
GetExitCodeProcess(hProcess, address(#ExitCode));
TerminateProcess(hProcess, ExitCode); // закрыть процесс
CloseHandle(hProcess);
}
else messagebox("Процесс не найден");


А если процессов с одним названием много, как зациклить чтобы он выключил все? Перетыкал, к сожалению не получилось
7. Zireael - 21 Сентября, 2024 - 05:54:52 - перейти к сообщению
 Цитата:
А если процессов с одним названием много, как зациклить чтобы он выключил все?

CODE:
external(INT, "GetExitCodeProcess", "GetExitCodeProcess", "Kernel32.dll");
external(INT, "TerminateProcess", "TerminateProcess", "Kernel32.dll");
external(INT, "CloseHandle", "CloseHandle", "Kernel32.dll");

string ProcessName = "CalculatorApp.exe"; // имя процесса

loop()
{
int PID=findprocess(ProcessName);
if(PID!=-1)
{
int hProcess = openprocess(PID);
int ExitCode;
GetExitCodeProcess(hProcess, address(#ExitCode));
TerminateProcess(hProcess, ExitCode); // закрыть процесс
CloseHandle(hProcess);
}
else break;
}

CODE:
external(INT, "GetExitCodeProcess", "GetExitCodeProcess", "Kernel32.dll");
external(INT, "TerminateProcess", "TerminateProcess", "Kernel32.dll");
external(INT, "CloseHandle", "CloseHandle", "Kernel32.dll");

string ProcessName = "CalculatorApp.exe"; // имя процесса

string Name[1000];
int Pid[1000], ExitCode;
int k=listprocess (#Name[0], #Pid[0]);
for (int n=0; n<k; n++)
{
if (Name[n]==ProcessName)
{
int hProcess = openprocess(Pid[n]);
GetExitCodeProcess(hProcess, address(#ExitCode));
TerminateProcess(hProcess, ExitCode);
CloseHandle(hProcess);
}
}

Powered by ExBB FM 1.0 Final