Почему не работает keyboard.write("1") и как это исправить?
Я делаю программу которая активирует Windows
import keyboard
import time
import os
import subprocess
from colorama import*
init()
os.system("cls")
# ввод команды powershell
command = "irm https://get.activated.win | iex"
result = subprocess.run(["powershell", "-Command", command], capture_output=True, text=True)
# активация через Microsoft Activation Scripts 3.4
time.sleep(3)
keyboard.write("1")
После того как он вводится команда: irm https://get.activated.win | iex открывается Microsoft Activation Scripts 3.4 где с помощью keyboard.write("1") вводится цифра 1. Но почему то keyboard.write("1") не хочет работать так как я хочу. Как будто бы после открытия Microsoft Activation Scripts 3.4 программа будто останавливается до тех пор пока не закроется Microsoft Activation Scripts 3.4. И только после закрытия Microsoft Activation Scripts 3.4 вводится цифра 1. Как это исправить?
Ответы (1 шт):
Вам вообще не нужно заморачиваться с эмуляцией нажатий кнопок!
Команда:
irm https://get.activated.win | iex
Cкачивает и запускает PowerShell-скрипт, представляющий из себя интерфейс для выбора и скачивания из репозитория нужного .cmd файла, с последующим его запуском.
Фактически:
Это меню для пользователя, чтобы он мог вручную выбрать, что именно запускать.
После выбора запускается скачанный .cmd файл, который уже и выполняет активацию или другие действия.
Так что прекращаем пытаться автоматизировать то, что автоматизировать не нужно!
Идём в репозиторий и видим в папке Activators файлик HWID_Activation.cmd.
Скачиваем файл, кладём рядом с вашим скриптом и наслаждаемся жизнью.
Итоговый код программы:
import subprocess
subprocess.run("HWID_Activation.cmd", shell=True)
При желании, нужный файл можно скачивать непосредственно из репозитория, а уже потом его запускать:
import subprocess
url = "https://raw.githubusercontent.com/massgravel/Microsoft-Activation-Scripts/master/MAS/Separate-Files-Version/Activators/HWID_Activation.cmd"
output = "HWID_Activation.cmd"
command = f'Invoke-WebRequest -Uri "{url}" -OutFile "{output}"'
subprocess.run(
["powershell", "-Command", command],
)
subprocess.run("HWID_Activation.cmd", shell=True)
И даже удалить после исполнения, что бы лишних файлов не валялось:
import os
os.remove(output)