为了账号安全,请及时绑定邮箱和手机立即绑定

定期使用 python 使窗口聚焦

定期使用 python 使窗口聚焦

杨魅力 2022-10-06 16:08:58
import win32guiimport timedef windowEnumerationHandler(hwnd, top_windows):    top_windows.append((hwnd, win32gui.GetWindowText(hwnd)))if __name__ == "__main__":    top_windows = []    win32gui.EnumWindows(windowEnumerationHandler, top_windows)    for i in top_windows:        print(i)        if "zoom" in i[1].lower():            print(i, 'is found')            while True:                win32gui.ShowWindow(i[0],5)                win32gui.SetForegroundWindow(i[0])                time.sleep(1)我听说缩放会监控窗口是否在超过 30 秒内没有对焦,所以我一直在研究一种方法,可以在处理其他项目时重复地将它抛到前面。问题是代码引发了异常0, 'SetForegroundWindow', 'No error message is available'窗口只是闪烁黄色。chrome也有同样的问题。在这里会很感激一些帮助:)
查看完整描述

1 回答

?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

我在尝试时遇到了同样的问题SetForegroundWindow(hwnd)。任务栏上的图标只是闪烁,但程序停留在后台。您可以在此处阅读: https ://docs.microsoft.com/zh-cn/windows/win32/api/winuser/nf-winuser-setforegroundwindow?redirectedfrom=MSDN


“当用户正在使用另一个窗口时,应用程序无法强制将一个窗口置于前台。相反,Windows 会闪烁窗口的任务栏按钮以通知用户。”


对我有帮助:


import win32gui, win32com.client     



    shell = win32com.client.Dispatch("WScript.Shell")

    shell.SendKeys('%')

    win32gui.SetForegroundWindow(hwnd)


查看完整回答
反对 回复 2022-10-06
  • 1 回答
  • 0 关注
  • 150 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信