From e981e702dc963ea911206503af2552617b0baa47 Mon Sep 17 00:00:00 2001 From: Pedro de Oliveira Guedes Date: Thu, 30 Dec 2021 10:52:56 -0300 Subject: [PATCH] Creating Window methods. --- api/wingui/cli.py | 160 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 160 insertions(+) diff --git a/api/wingui/cli.py b/api/wingui/cli.py index 8d73fd5..2401c99 100644 --- a/api/wingui/cli.py +++ b/api/wingui/cli.py @@ -732,3 +732,163 @@ class Wingui: -> Array de inteiros contendo todos os PIDS ativos da máquina. """ return self.__request__("/ipc/wingui/proc/pids") + +# Funções Window + def window_activehwnd(self) -> int: + """ + ## Window Active HWND + Procura o HWND da janela ativa entre as informações de processos ativos do Windows. + + --- + #### info: + HWND é um indicador unico de um componente ajanelado no windows. + + --- + #### Params: + + --- + + --- + #### Retorna: + + -> HWND da janela ativa. + """ + return self.__request__("/ipc/wingui/window/activehwnd") + + def window_activetitle(self) -> str: + """ + ## Window Active Title + Procura o título da janela ativa entre as informações de processos ativos do Windows. + + --- + #### Params: + + --- + + --- + #### Retorna: + + -> Título da janela ativa + """ + return self.__request__("/ipc/wingui/window/activetitle") + + def window_list(self, s: str = "") -> List[dict]: + + """ + ## Window List + Lista as janelas disponiveis, fitrando pelo nome passado em "s", caso ele seja fornecido. + + --- + #### Params: + - s: Substring do nome das janelas que se quer buscar. + --- + #### Retorna: + - "s" recebe um valor: Lista de dicinários contendo todos os processos que contenham a substring de "s". + - "s" não recebe um valor: Lista de dicionários contendo todos os processos ativos da máquina. + ##### Formato de saída: + { + + "Hwnd":0, + + "Pid":0, + + "Title":"str" + } + + Onde Hwnd é o identificador da janela, pid é o numero do processo, e Title é o titulo da janela + """ + + s = urllib.parse.quote(s, "") + return self.__request__(f"/ipc/wingui/window/list?s={s}") + + def window_hwnd(self, s: str) -> List[int]: + """ + ## Window HWND + Faz uma busca nos processos ativos do windows, identifica os que possuem a susbtring informada em "s" e retorna o HWND de todos eles. + + --- + #### Params + - s: Substring contida na janela para busca. Este parâmetro é OBRIGATÓRIO. + --- + #### Retorna: + -> Lista de todos os HWNDs cujo nome da janela possua a substring "s". + """ + s = urllib.parse.quote(s, "") + return self.__request__(f"/ipc/wingui/window/hwnd?s={s}") + + def window_activate(self, hwnd: int): + """ + ## Window Activate + Ativa uma janela de acordo com seu hwnd. + + --- + #### Params: + - hwnd: Número HWND da janela que se deseja ativar. + --- + #### Retorna: + + --- + """ + return self.__request__(f"/ipc/wingui/window/activate?Hwnd={hwnd}") + + def window_close(self, hwnd: int): + """ + ## Window Close + Fecha janela de acordo com o hwnd. + + --- + #### Params: + - hwnd: Número HWND da janela que se quer fechar. + --- + #### Retorna: + + --- + """ + return self.__request__(f"/ipc/wingui/window/close?Hwnd={hwnd}") + + def window_max(self, hwnd: int): + """ + ## Window Maximize + Maximiza janela de acordo com o hwnd. + + --- + #### Params: + - hwnd: Número HWND da janela que se quer maximizar. + --- + #### Retorna: + + --- + """ + return self.__request__(f"/ipc/wingui/window/max?Hwnd={hwnd}") + + def window_min(self, s: int): + """ + ## Window Minimize + Minimiza janela de acordo com o hwnd. + + --- + #### Params: + - hwnd: Número HWND da janela que se quer minimizar. + --- + #### Retorna: + + --- + """ + return self.__request__(f"/ipc/wingui/window/min?Hwnd={s}") + + def window_waitactivetitle(self, t: str, m: int = 30): + """ + ## Window Wait for Active Title + Aguarda um determinado tempo até que apareça uma janela ativa cujo título contenha a substring "t". + + --- + #### Params: + - t: Substring que deve estar contida no título da janela ativa. + - m: Tempo limite até a janela aparecer. + + --- + #### Retorna: + -> "ok" + """ + t = urllib.parse.quote(t, "") + return self.__request__(f"/ipc/wingui/window/waitactivetitle?t={t}&m={m}")