Erlo

python pywin32学习笔记

时间:2019-10-08 23:03   阅读:9次   来源:博客园
页面报错
点赞

参考博客链接

https://blog.csdn.net/polyhedronx/article/details/81988948

参考博客链接

https://www.cnblogs.com/zhaobl/p/3326332.html

 

pyhandle=win32gui.FindWindow(classname,text)

  pyhandle windows窗体句柄,int 类型
  className 窗体类名
  text 窗体标题

win32gui.SetForegroundWindow(pyhandle)
win32gui.ShowWindow(pyhandle, win32con.SW_MAXIMIZE)

  窗体置顶
  窗体最大化

handle=win32gui.FindWindowEx(pyhandle,None,'Edit',None)

  通过父pyhandle窗体句柄找到第一个子窗体或控件

  函数原型

  pyHandle=FindWindowEx(Parent, ChildAfter , ClassName , WindowName)

  ChildAfer int类型,为0表示搜索所有

 

win32gui.SendMessage(handle, win32con.WM_GETTEXTLENGTH) #向句柄为handle的窗体发送消息得到文本内容大小,阻塞式

  函数原型

  int = SendMessage(hwnd, message , wparam , lparam )

  具体内容请查看windows api

 

buffer = win32gui.PyMakeBuffer(len) 

  得到长度为len的缓冲区类型

win32gui.SendMessage(edit_handle, win32con.WM_GETTEXT, len, buffer)  # 读取文本

   读取控件的文本内容

 

address, length = win32gui.PyGetBufferAddressAndLen(buffer)

   通过buffer得到地址和字符串长度

 

text = win32gui.PyGetString(address, length)

   通过地址和字符串长度得到文本内容

 

left,top,right,bottom=win32gui.GetClientRect(pyhandle)

   得到窗体的左,顶,右 ,底的坐标

 

win32api.keybd_event(key, 0, 0, 0)

   发送键盘消息,key为键值

 

 win32api.SetCursorPos([width, height])

   设置鼠标在屏幕中的坐标

 

win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)

   鼠标左键单击

 

win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)

   鼠标右键单击

 

hwndChildList = []
win32gui.EnumChildWindows(parent, lambda hwnd, param: param.append(hwnd),  hwndChildList)  

      得到parent窗体下所有的窗体和控件句柄

 

win32api.keybd_event(key, 0, win32con.KEYEVENTF_KEYUP, 0)

   key int类型,让按下的键抬起来

 

 win32gui.SendMessage(handle,win32con.WM_SETTEXT,0,text)
            

   设置控件文本内容

 

win32gui.GetDlgItemText(pyhandle,dlgItemId)

   通过窗体句柄和控件id得到控件的text

    控件的id可以通过spy++或者AutoIt windows info获取

评论留言

还没有评论留言,赶紧来抢楼吧~~

Erlo大厅()

* 这里是“吐槽厅”,所有人可看,只保留当天信息。

  • Erlo.vip2019-10-24 02:07:35Hello、欢迎使用吐槽厅,这里是个吐槽的地方。
  • 返回顶部