Использование python win32 внутри контейнера Docker для доступа к экрану хоста? - PullRequest
1 голос
/ 03 апреля 2019

Можно ли использовать Python Win32 API, используя следующий код внутри контейнера докера, обращаясь к хосту для получения захвата экрана.

Я думаю, может быть, установить Docker для Windows, установить образ и запустить код Python внутри, получая доступ к хосту для скриншота.

Я знаю, что вы можете привязать порты, есть ли способ привязать доступ к GUI хоста?

 # code from https://github.com/Sentdex/pygta5/blob/master/grabscreen.py
import cv2
import numpy as np
import win32gui, win32ui, win32con, win32api

def grab_screen(region=None):

    hwin = win32gui.GetDesktopWindow()

    if region:
            left,top,x2,y2 = region
            width = x2 - left + 1
            height = y2 - top + 1
    else:
        width = win32api.GetSystemMetrics(win32con.SM_CXVIRTUALSCREEN)
        height = win32api.GetSystemMetrics(win32con.SM_CYVIRTUALSCREEN)
        left = win32api.GetSystemMetrics(win32con.SM_XVIRTUALSCREEN)
        top = win32api.GetSystemMetrics(win32con.SM_YVIRTUALSCREEN)

    ...more code (see link)

    return cv2.cvtColor(img, cv2.COLOR_BGRA2RGB)
...