Как перенести окно приложения на другую рабочую область с помощью Python или Кибора?
Перенести надо окно игры Waspear Online в количестве 6 штук Мой код(не работает как надо):
import pyautogui as r
from time import sleep
sleep(5) # (через 5 секунд начнётся перенос окон`)
rf = [[296, 75], [461, 79], [644, 68], [810, 70], [962, 76], [69, 51]] # координаты рабочих областей по x и y
k = 6
r.click(x=112, y=1419) # нажатие на вкладку представление задач
sleep(2)
while k != 0:
for i in rf:
x1 = i[0]
y1 = i[1]
r.mouseDown(x=650, y=271, button='left') # нажмите правую кнопку вниз, захватывает окно левой кнопкой мыши
sleep(2)
r.mouseUp(button='left', x=279, y=65) # отпускает окно левой кнопкой мыши
sleep(2)
k -= 1
Код из интернета(не понимаю как работает, т.к. ничего не происходит при запуске)
import psutil
import win32gui
import win32process
from pyvda import AppView, VirtualDesktop
NEED_WINDOW_DESKTOP_NUMBER = 2
def get_hwnd_for_pid(pid: int):
def callback(hwnd: int, hwnds: list):
if win32gui.IsWindowVisible(hwnd) and win32gui.IsWindowEnabled(hwnd):
_, found_pid = win32process.GetWindowThreadProcessId(hwnd)
if found_pid == pid:
hwnds.append(hwnd)
return True
return True
hwnds = []
win32gui.EnumWindows(callback, hwnds)
return hwnds[0] if hwnds else -1
for proc in psutil.process_iter():
if not proc.is_running() or proc.name() not in ['warspear', 'warspear']:
continue
hwnd = get_hwnd_for_pid(proc.pid)
app_view = AppView(hwnd)
# If the window is already on the desired desktop
if hwnd == -1 or app_view.desktop.number == NEED_WINDOW_DESKTOP_NUMBER:
continue
print(f'Moved window (pid={proc.pid}) to window desktop #{NEED_WINDOW_DESKTOP_NUMBER}')
app_view.move(VirtualDesktop(NEED_WINDOW_DESKTOP_NUMBER))
Пожалуйста помогите!!!!!!!