win32api操作

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
hdedit = win32gui.FindWindowEx(hdcombobox,None,"Edit",None)#这才是combobox的edit控件句柄
#win32gui.GetDlgItem(上层句柄,控件ID) 和 win32gui.FindWindowEx(上层句柄,。。控件类名,控件名称),两者效果一样
#输入文字
hdmaindlg = win32gui.FindWindow("Notepad",None)#获取Notepad的句柄
hdmainnedit = win32gui.FindWindowEx(hdmaindlg,None,"Edit",None)#获取Notepad的子窗口--文本框的句柄
hd3 = win32gui.FindWindowEx(hd2,None,"FloatNotifySink",None)
hdcombobox = win32gui.FindWindowEx(hd3,None,"ComboBox",None)#这才到combobox的句柄
#hdedit = win32gui.GetDlgItem(hdcombobox,1001) #通过spy++得到该控件的控件ID,配合上层的句柄,可以得到该控件的句柄,
win32gui.SendMessage(hdedit, win32con.WM_SETTEXT,0,"temp5.txt")#输入文件名
hdsave = win32gui.GetDlgItem(hd,1)#同样,获取【保存】按钮的句柄
win32gui.SendMessage(hdsave,win32con.WM_LBUTTONDOWN,0,0)#模拟鼠标点击操作,要有down和up两个消息
win32gui.SendMessage(hdsave,win32con.WM_LBUTTONUP,0,0)
app.Notepad.Close()
win32api.SendMessage(hdmainnedit,win32con.WM_SETTEXT,0,"Hallo") #给文本框里发消息,输入文字
app.Notepad.MenuSelect(u"文件->保存")#用的pywinauto库
hd = win32gui.FindWindow("#32770",u"另存为")#通过class_name和title获取到【另存为】对话框的句柄
#基于对win32api的学习,才这么折腾,如果用pywinauto,以下代码,弱爆了
说明:本例利用win32api和win32gui 操作notepad.exe,输入文字, 保存
准备: 工具spy++
库:win32gui,win32api,win32con
__author__ = 'LingFang'
#哇塞,【文件名】是个combobox,要获取他的edit控件的句柄,麻烦咧,如下,对于层次比较深的控件,获取句柄,必须从最上层开始获取
hd1 = win32gui.FindWindowEx(hd,None;,None)
hd2 = win32gui.FindWindowEx(hd1,None,"DirectUIHWND",None)
# coding=utf-8
from pywinauto import application
import time
import win32api, win32con, win32com,win32gui
#start app
app = application.Application.start("Notepad.exe")#启动Notepad,这偷个懒,用的pywinauto库
相关文档
最新文档