打算用句柄的方式获取窗口对话框的文本,结果查到了句柄但找不到对应的文本,麻烦各位前辈答复一下,谢谢!
我的代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import win32gui as gui
def findwindow(pHandle):
handle=None
while handle!=0:
handle=gui.FindWindowEx(pHandle,handle,None,None)
if handle!=0:
findwindow(handle)
print(handle,gui.GetClassName(handle),'标题: ',gui.GetWindowText(handle))
findwindow(gui.FindWindow(None,'TeamViewer'))
此外,还试过GetDlgItemText,但第二个参数ID不知道怎么回事,一并讨教了,谢谢!
edit的文本不是标题,不能用GetWindowText,可以用getdlgitemtext或者sendmessage(wm_text)获取
用FindWindow找到窗口句柄
#-*-coding:utf-8-*-
import win32gui,win32con
#下面的是窗口的标题名称,这样是一定错的,但在控制台就可以正常使用
#写在文件里要用U编码
a=u"用户登录"
dlg=win32gui.FindWindow(None,a)
//用控件的ID取得控件的句柄,模拟写入输入框文本并按下提交按键
t1=win32gui.GetDlgItem(dlg,1012)
t2=win32gui.GetDlgItem(dlg,1001)
k1=win32gui.GetDlgItem(dlg,1605)
win32gui.SendMessage(t1,win32con.WM_SETTEXT,None,'902723')
win32gui.SendMessage(t2,win32con.WM_SETTEXT,None,'761209')
win32gui.SendMessage(k1,win32con.BM_CLICK,None,None)