首页 > 如何用python使GoAgent窗口打开后自动最小化以及关闭之前的py.exe窗口

如何用python使GoAgent窗口打开后自动最小化以及关闭之前的py.exe窗口

python:3.4
goagent:3.1.22-33

写了一个想在ipv4/6之间切换的小脚本

path=r'D:\Documents\Downloads\Downloads\goagent-goagent-v3.1.22-33-g1281719\goagent-goagent-1281719\local\proxy.ini'
change(path,mode)
os.system('taskkill /im goagent.exe /f')
os.system('taskkill /im python27.exe /f')
goagentPath=r'D:\Documents\Downloads\Downloads\goagent-goagent-v3.1.22-33-g1281719\goagent-goagent-1281719\local\goagent.exe'
os.system(goagentPath)
exit()

然而运行之后活动窗口变成了goagent窗口,原来运行py脚本的窗口还是开着的。求问如何关掉它
另:GoAgent有一个点右下角任务栏图标就最小化,只剩一个图标任务栏,没有中间的那个程序窗口。求问如何用python做到自动化?

ps:我就是懒。。。


用下面的代码给你说明吧:

if os.name == 'nt':
    import ctypes
    ctypes.windll.kernel32.SetConsoleTitleW(u'GoAgent v%s' % __version__)
    if not common.LISTEN_VISIBLE:
        ctypes.windll.user32.ShowWindow(ctypes.windll.kernel32.GetConsoleWindow(), 0)
    else:
        ctypes.windll.user32.ShowWindow(ctypes.windll.kernel32.GetConsoleWindow(), 1)

原来运行py脚本的窗口还是开着的,如何关掉它?

问题在于os.system()是要等待运行的程序(goagent)退出后才返回,你可以这样:

goagentPath=r'D:\Documents\Downloads\Downloads\goagent-goagent-v3.1.22-33-g1281719\goagent-goagent-1281719\local\goagent.exe'
cmdline = 'start "%s"' % goagentPath
os.system(cmdline)

或者

os.startfile(goagentPath)

GoAgent有一个点右下角任务栏图标就最小化,只剩一个图标任务栏,没有中间的那个程序窗口。求问如何用python做到自动化?

解决的思路是根据 GoAgent 的窗口标题找到它的窗口句柄,然后将它最小化或隐藏。
因为我这边没有这个软件,只能给你大致的参考代码:

import win32gui
import win32con

wndtitle = 'GoAgent'
wndclass = None
wnd = win32gui.FindWindow(wndclass, wndtitle)
win32gui.ShowWindow(wnd, win32con.SW_MINIMIZE)    # SW_HIDE for hide

什么,你说你连 pywin32 这个 Windows 下最常用的扩展库都没有安装? pip install pywin32

【热门文章】
【热门文章】