πŸ”§ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ Π² Python: простоС руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ Π² Python, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ PyAutoGUI.

import pyautogui

# ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ экрана
width, height = pyautogui.size()

# Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΎΠΊΠ½Π° ΠΏΠΎ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ
x = int(width / 2)
y = int(height / 2)
pyautogui.moveTo(x, y)

# Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ
pyautogui.click()

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ Π² Python

Когда Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Python, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²Π°ΠΌ потрСбуСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠ³ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π½ΠΈΠΌ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим нСсколько способов ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python.

1. ИспользованиС стороннСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ - pywin32

Pywin32 - это ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π²Π°ΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ функциям Windows API. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ SetForegroundWindow.


import win32gui

# ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΎΠΊΠ½Π°
hwnd = win32gui.GetForegroundWindow()

# УстанавливаСм ΠΎΠΊΠ½ΠΎ Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½
win32gui.SetForegroundWindow(hwnd)
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ GetForegroundWindow, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ SetForegroundWindow, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ.

2. ИспользованиС стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ - ctypes

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ctypes Ρ‚Π°ΠΊΠΆΠ΅ позволяСт Π²Π°ΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ функциям Windows API. Π’Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ SetForegroundWindow для Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΎΠΊΠ½Π°.


import ctypes

# ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΎΠΊΠ½Π°
hwnd = ctypes.windll.user32.GetForegroundWindow()

# УстанавливаСм ΠΎΠΊΠ½ΠΎ Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½
ctypes.windll.user32.SetForegroundWindow(hwnd)
    

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ GetForegroundWindow ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ user32, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Π° Π·Π°Ρ‚Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ SetForegroundWindow ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ Π΅Π³ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ.

3. ИспользованиС стороннСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ - pyautogui

Pyautogui - это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Python, которая прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ взаимодСйствия с графичСским интСрфСйсом ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ, Π½ΠΎ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ дСйствия, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΡ‹ΡˆΠΈ ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ клавиш.


import pyautogui

# ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΎΠΊΠ½Π°
x, y, width, height = pyautogui.getwindowgeometry("НазваниС окна")

# Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ
pyautogui.click(x + width // 2, y + height // 2)
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ getwindowgeometry ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ pyautogui, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΎΠΊΠ½Π° ΠΏΠΎ Π΅Π³ΠΎ названию, Π° Π·Π°Ρ‚Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ click ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ.

Π˜Ρ‚ΠΎΠ³ΠΈ

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли нСсколько способов ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ подходящий для вас ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² зависимости ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… потрСбностСй ΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Π£Ρ€ΠΎΠΊΠΈ Python / Как Π² Python ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ графичСскоС ΠΎΠΊΠ½ΠΎ

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π² Tkinter ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ / ΡƒΡ€ΠΎΠΊΠΈ Python

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Π½Π° Python | Tkinter

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ”Ž Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² строкС Python 3: простой способ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ лишниС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹

πŸ”‘ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ сдвиг Π²Π»Π΅Π²ΠΎ Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅? ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ шаги ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°! πŸš€

πŸ”§ Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Django Python: пошаговая инструкция для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ”§ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ Π² Python: простоС руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ”§πŸ Как ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΉ Π³ΠΈΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Как Π·Π°Π΄Π°Ρ‚ΡŒ часовой пояс Π² Python? πŸ•°οΈ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ nbsp python? 🐍 Π£Π·Π½Π°ΠΉΡ‚Π΅ подробности ΠΎ Π½Π΅Ρ€Π°Π·Ρ€Ρ‹Π²Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ±Π΅Π»Π΅ Π² ΠŸΠ°ΠΉΡ‚ΠΎΠ½Π΅