python pywin32学习笔记

参考博客链接

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获取

你可能感兴趣的:(python pywin32学习笔记)