1.首先先定位该弹出框:
用spy++查找到该弹出框的标题和类名:
弹出框的句柄是每次都会变的,所以通过标题和类名获取该句柄:
# 获取另存为弹出框
calssname = u"#32770"
titlename = u"文件另存为"
hwnd = win32gui.FindWindow(calssname,titlename)
2.输入文件名
输入框定位在多层窗口的下面,所以我是一层一层往下找的,没找到便捷的方法
# 获取文件名输入框
a1 = win32gui.FindWindowEx(hwnd,None,"DUIViewWndClassName",None)
a2 = win32gui.FindWindowEx(a1,None,"DirectUIHWND",None)
a3 = win32gui.FindWindowEx(a2,None,"FloatNotifySink",None)
a4 = win32gui.FindWindowEx(a3,None,"ComboBox",None)
hwnd_filename = win32gui.FindWindowEx(a4,None,"Edit",None)
#在文件名输入框中输入文件名(fileName输入一个字符串,我根据系统需要生成的随机数,汉字的话需要转码,如u'你好'.encode('gbk'))
win32gui.SendMessage(hwnd_filename, win32con.WM_SETTEXT, None, fileName)
3.点击保存