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

发布于 2022-09-02 01:44:34 字数 608 浏览 15 评论 0

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:我就是懒。。。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我恋#小黄人 2022-09-09 01:44:34

原来运行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

转身以后 2022-09-09 01:44:34

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

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)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文