赞
踩
今天又是不聪明的小侦探热爱敲代码的一天。
今天来为大家解决win32gui.FindWindow()找不到窗口的问题,本来打算制作一个游戏脚本,去网上找了点教程自学,遇到了使用win32gui.FindWindow()语句能打开web等窗口就是打开不了我游戏的端口,把我快愁死了,后面经过不懈的试错和努力,发现使用标题名字直接找好像找不到我的游戏窗口,我使用句柄进行查找后发现找到了,为此本人将解决方法分享给我的粉丝们。
首先也是最重要的要用管理员身份运行开发工具,这里以pycharm为例:
找到应用程序然后右击 找到以管理员身份运行(或者直接按a)
运行以下应用程序,输出你要找到窗口的句柄和标题。
- import win32gui
-
-
- # GetDesktopWindow 获得代表整个屏幕的一个窗口(桌面窗口)句柄
- hd = win32gui.GetDesktopWindow()
-
- # 获取所有子窗口
- hwndChildList = []
-
- win32gui.EnumChildWindows(hd, lambda hwnd, param: param.append(hwnd), hwndChildList)
-
- for hwnd in hwndChildList:
- print("句柄:", hwnd, "标题:", win32gui.GetWindowText(hwnd))
- # f.write("句柄:" + str(hwnd) + " 标题:" + win32gui.GetWindowText(hwnd) + '\n')
在运行结果中使用ctrl+f 寻找你想要的窗口,记住其句柄的数值。
再使用FindWindow()就可以找到该窗口,并且将其前置。
- hwnd = win32gui.FindWindow(0,win32gui.GetWindowText(722608))#寻找窗口
- if not hwnd:
- print("找不到该窗口")
- else:
- win32gui.SetForegroundWindow(hwnd)#前置窗口
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。