Как сделать обязательное открытие программы через права администратора?

Для того чтобы сделать программу обязательно открывающейся с правами администратора в Python, необходимо использовать модуль ctypes для вызова функции Windows API ShellExecute. Эта функция позволяет запустить исполняемый файл с указанными параметрами и с правами администратора.

Вот пример кода, который демонстрирует, как сделать обязательное открытие программы с правами администратора:

import ctypes
import sys

def run_as_admin():
    if sys.platform.startswith('win32'):
        try:
            # Запуск программы с правами администратора
            ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 1)
            sys.exit(0)
        except:
            # Если пользователь отклонил запрос на повышение прав
            sys.exit(1)
    else:
        # Если программа работает не на операционной системе Windows
        sys.exit(1)

# Проверяем, запущена ли программа с правами администратора
if ctypes.windll.shell32.IsUserAnAdmin() == 0:
    # Если программа не запущена с правами администратора, вызываем функцию для повышения прав
    run_as_admin()

# Ваш код продолжается здесь...

В этом коде мы сначала проверяем, работает ли программа с правами администратора, используя функцию IsUserAnAdmin из модуля ctypes.windll.shell32. Если программа не запущена с правами администратора, то вызываем функцию run_as_admin, которая использует функцию ShellExecuteW для повышения прав и запуска программы снова с правами администратора. Если пользователь отклоняет запрос на повышение прав, программа завершится.

Можно вставить свой код перед # Ваш код продолжается здесь.... Обратите внимание, что этот код будет работать только на операционной системе Windows.