Как перенести окно приложения на другую рабочую область с помощью 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))

Пожалуйста помогите!!!!!!!


Ответы (0 шт):