Как закрыть окно в Python по имени ⇐ Python
-
Anonymous
Как закрыть окно в Python по имени
Я делаю клиентский скрипт консоли Minecraft для друга. Он открывает консольный клиент на основе текстового файла
Я понял, как закрыть/закрыть окно, но эта часть не закрывает окно физически, а просто устанавливает его в обычное окно командной строки, поскольку оно создано с помощью пакетной команды
Как мне полностью закрыть программу по имени, как если бы я нажал кнопку «x» в правом верхнем углу приложения.
os.system("taskkill /f /im MinecraftClient.exe") //для процесса в psutil.process_iter(): // если proc.name() == "MinecraftClient.exe": // процедура.завершить() // пожинать_детей() Ни один из них на самом деле не закрывает .exe, а просто превращает его в окно командной строки. И я не хочу снова запускать процедуру for в psutil.process_iter() только для того, чтобы закрыть окна командной строки.
РЕДАКТИРОВАНИЕ 1:
Как открывается MinecraftClient.exe, имейте в виду, что это консольный клиент, который вы загружаете с github
def Connect(файл, каталог, выполняется): с открытым (файлом) как файлом: для строки в файле: #stdout=ТРУБА, stderr=ТРУБА, stdin=ТРУБА, линии = line.split(":") логин = строки[0] пароль = строки[1] IP = линии[2] // CREATE_NEW_PROCESS_GROUP = 0x00000200 // DETACHED_PROCESS = 0x00000008 команда = "MinecraftClient.exe {0} {1} {2}".format(логин, пароль, IP) выполнено = Popen("start cmd /K " + команда, cwd=каталог, оболочка=True) выход, ошибка = выполнено.коммуникация() выполнено.добавление(executed.pid) если выполнено.код возврата == 0: print("Соединение {0} с {1} успешно установлено".format(login, IP)) еще: print("Не удалось подключиться {0} к {1}.".format(login, IP)) print("{0}".format(err)) время.сон(3) Некоторые вещи я не использую, потому что это были всего лишь тесты
Я делаю клиентский скрипт консоли Minecraft для друга. Он открывает консольный клиент на основе текстового файла
Я понял, как закрыть/закрыть окно, но эта часть не закрывает окно физически, а просто устанавливает его в обычное окно командной строки, поскольку оно создано с помощью пакетной команды
Как мне полностью закрыть программу по имени, как если бы я нажал кнопку «x» в правом верхнем углу приложения.
os.system("taskkill /f /im MinecraftClient.exe") //для процесса в psutil.process_iter(): // если proc.name() == "MinecraftClient.exe": // процедура.завершить() // пожинать_детей() Ни один из них на самом деле не закрывает .exe, а просто превращает его в окно командной строки. И я не хочу снова запускать процедуру for в psutil.process_iter() только для того, чтобы закрыть окна командной строки.
РЕДАКТИРОВАНИЕ 1:
Как открывается MinecraftClient.exe, имейте в виду, что это консольный клиент, который вы загружаете с github
def Connect(файл, каталог, выполняется): с открытым (файлом) как файлом: для строки в файле: #stdout=ТРУБА, stderr=ТРУБА, stdin=ТРУБА, линии = line.split(":") логин = строки[0] пароль = строки[1] IP = линии[2] // CREATE_NEW_PROCESS_GROUP = 0x00000200 // DETACHED_PROCESS = 0x00000008 команда = "MinecraftClient.exe {0} {1} {2}".format(логин, пароль, IP) выполнено = Popen("start cmd /K " + команда, cwd=каталог, оболочка=True) выход, ошибка = выполнено.коммуникация() выполнено.добавление(executed.pid) если выполнено.код возврата == 0: print("Соединение {0} с {1} успешно установлено".format(login, IP)) еще: print("Не удалось подключиться {0} к {1}.".format(login, IP)) print("{0}".format(err)) время.сон(3) Некоторые вещи я не использую, потому что это были всего лишь тесты