python win32 怎么获取某个控件的句柄
python win32 如何获取某个控件的句柄
我知道如何获取主窗口的句柄,但是总是获取不了窗口里面某个button的句柄。

就好比这个里面的继续下载这个按钮,我怎么获得他的句柄。得到他的句柄,我就可以获得他的坐标,就可以利用鼠标对这个按钮进行操作。
import win32gui,win32api
win = win32gui.FindWindow(None,DialogName)
while win == 0:
win = win32gui.FindWindow(None,DialogName)
time.sleep(X) # 休眠X秒
hbtn = win32gui.FindWindowEx(win,None,None,ButtonName)
(left,top,right,bottom) = win32gui.GetWindowRect(hedit)
win32api.SetCursorPos((left+(right-left)/2,top+(bottom-top)/2)) #光标定位
time.sleep(0.5)
# 鼠标点击
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0)
time.sleep(0.05)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0)
time.sleep(0.05)
代码大概就是这样,可以利用FindWindow得到主窗口句柄,但是FindWindowEx总是不能得到按钮的句柄,而且hbtn = win32gui.FindWindowEx(win,None,None,'开始下载')总是返回0. 具体得到这种按钮的句柄应该怎么操作?
------解决思路----------------------
遍历窗口子控件
------解决思路----------------------
有主窗体句柄就能遍历子控件句柄了
要是我写的这个下载器 我可能就连控件都不会有……只是贴图范围判定而已 不见得能得到子控件句柄
我知道如何获取主窗口的句柄,但是总是获取不了窗口里面某个button的句柄。
就好比这个里面的继续下载这个按钮,我怎么获得他的句柄。得到他的句柄,我就可以获得他的坐标,就可以利用鼠标对这个按钮进行操作。
import win32gui,win32api
win = win32gui.FindWindow(None,DialogName)
while win == 0:
win = win32gui.FindWindow(None,DialogName)
time.sleep(X) # 休眠X秒
hbtn = win32gui.FindWindowEx(win,None,None,ButtonName)
(left,top,right,bottom) = win32gui.GetWindowRect(hedit)
win32api.SetCursorPos((left+(right-left)/2,top+(bottom-top)/2)) #光标定位
time.sleep(0.5)
# 鼠标点击
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0)
time.sleep(0.05)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0)
time.sleep(0.05)
代码大概就是这样,可以利用FindWindow得到主窗口句柄,但是FindWindowEx总是不能得到按钮的句柄,而且hbtn = win32gui.FindWindowEx(win,None,None,'开始下载')总是返回0. 具体得到这种按钮的句柄应该怎么操作?
------解决思路----------------------
遍历窗口子控件
------解决思路----------------------
有主窗体句柄就能遍历子控件句柄了
要是我写的这个下载器 我可能就连控件都不会有……只是贴图范围判定而已 不见得能得到子控件句柄