• 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)
    

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

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

       发送键盘消息,key为键值

    import win32api
    win32api.SetCursorPos([width, height])

       设置鼠标在屏幕中的坐标

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

       鼠标左键单击

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

       鼠标右键单击

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

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

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

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

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

       设置控件文本内容

    import win32gui
    win32gui.GetDlgItemText(pyhandle,dlgItemId)

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

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

    import win32console,win32gui
    cmd_win=win32console.GetConsoleWindow() if cmd_win>0: win32gui.ShowWindow(cmd_win,0) #windows下隐藏python程序运行的黑窗口,cmd命令行窗口

      

     

  • 相关阅读:
    Shell 字符串处理
    Shell 变量替换及测试
    ARTS(一)
    instanceof & isAssignableFrom的异同
    mysql 分组排序取最值
    guava-retrying 源码解析(阻塞策略详解)
    guava-retrying 源码解析(时间限制策略)
    guava-retrying 源码解析(停止策略详解)
    guava-retrying 源码解析(等待策略详解)
    guava-retrying 源码解析(导入项目)
  • 原文地址:https://www.cnblogs.com/lingdurebing/p/11602461.html
Copyright © 2020-2023  润新知