Задать вопрос
Ответы пользователя по тегу Python
  • Как исправить Python error module 'win32crypt' has no attribute 'CryptProtectData' [closed]?

    @robothot
    Ошибка module 'win32crypt' has no attribute 'CryptProtectData' возникает потому, что в Python 3.11 и выше модуль win32crypt больше не содержит CryptProtectData и CryptUnprotectData. Эти функции были частью старых версий pywin32, но теперь доступны через другой путь — через win32.win32crypt

    Импортируйте вот так:

    from win32.win32crypt import CryptProtectData, CryptUnprotectData


    Если будет ошибка отсутствия модуля то: pip install pywin32
    Ответ написан
    Комментировать
  • Почему форма не по центру экрана, как исправить?

    @robothot
    Если self.content_container - это Frame, центрировать форму по экрану вы не сможете — она будет располагаться внутри родительского фрейма.

    Если вам нужно, чтобы форма открывалась по центру экрана — создавайте Toplevel:

    def show_forex_market_form(self, entry=None, read_only=False):
        form = tk.Toplevel()
        form.title("БезнРУБ - Рынок")
        center_window(form, 800, 600)
    
        main_frame = ttk.Frame(form)
        main_frame.pack(fill=tk.BOTH, expand=True, padx=20, pady=20)
    
        # Дальше весь ваш код, замените `self.content_container` на `form` или `main_frame`


    Если же вы хотите, чтобы форма визуально располагалась по центру текущего фрейма, а не экрана, то это можно сделать через:

    .pack(anchor="center") + .place(relx=0.5, rely=0.5, anchor="center")


    но это не так стабильно, как с отдельным окном
    Ответ написан
    Комментировать
  • Как добавить опцию в контекстное меню для Internet Shortcuts?

    @robothot
    .url-файлы обрабатываются через тип InternetShortcut, но Shell не использует ветку InternetShortcut\shell, а вместо этого — ветку ShellEx\ContextMenuHandlers, в отличие от файлов .txt, .png и т.п.

    Поэтому добавление через shell\NewItem не сработает для .url ярлыков.

    Используй:

    import winreg as reg
    
    base_path = r"SOFTWARE\Classes\SystemFileAssociations\.url\shell\NewItem"
    
    with reg.CreateKey(reg.HKEY_CURRENT_USER, base_path) as main_key:
        reg.SetValueEx(main_key, 'MUIVerb', 0, reg.REG_SZ, 'New Item for .url')
        with reg.CreateKey(main_key, 'command') as cmd_key:
            reg.SetValue(cmd_key, '', reg.REG_SZ, r'"C:\Path\To\app.exe" "%1"')
    Ответ написан
    1 комментарий
  • Как в Pyrogram получить id отправленного сообщения?

    @robothot
    Бот №1 отправляет сообщение:

    sent = await bot1.send_message(chat_id, "Пример")

    Он передаёт sent.id второму боту (например, через базу или API).

    Бот №2 делает reply_to=sent.id:

    await bot2.send_message(chat_id, "Ответ", reply_to=sent_id)


    Оба бота при этом должны быть в одном чате, и второй бот должен видеть то сообщение
    Ответ написан
    Комментировать