Почему не работает keyboard.write("1") и как это исправить?

Рейтинг: 1Ответов: 1Опубликовано: 22.07.2025

Я делаю программу которая активирует 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. Как это исправить?

Ответы

▲ 2Принят

Вам вообще не нужно заморачиваться с эмуляцией нажатий кнопок!


Команда:

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)