python pywin32 获取窗体edit内容_pywin32

# 获取所有活动窗口的标题
# ! /usr/bin/env python
#  -*- coding: utf-8 -*-
import time
import win32gui
import win32api
import win32con

"""
该类实现了:查找(定位)句柄信息,菜单信息
"""
class HandleMenu(object):

    def __init__(self, cls_name=None, title=None):
        
        self.handle = win32gui.FindWindow(cls_name, title)
        self.window_list = []

    def call_back(self, sub_handle, sub_handles):  # Edit 20de0
        """遍历子窗体"""

        title = win32gui.GetWindowText(sub_handle)
        cls_name = win32gui.GetClassName(sub_handle)
        print(title, '+', cls_name)

        position = win32gui.GetWindowRect(sub_handle)
        aim_point = round(position[0] + (position[2] - position[0]) / 2), round(
            position[1] + (position[3] - position[1]) / 2)
        win32api.SetCursorPos(aim_point)
        time.sleep(1)

        # 鼠标点击
        # win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0)
        # time.sleep(0.05)
        # win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0)
        # time.sleep(0.05)
        # ComboBox - ---------
        # Edit - ---------
        if cls_name == 'ComboBox':
            win32gui.SendMessage(sub_handle, win32con.WM_SETTEXT, None, '902723')
            time.sleep(1)
        sub_handles.append({
    'cls_name': cls_name, 'title': title})

        return True

    def get_sub_handles(self):
        """通过父句柄获取子句柄"""

        sub_handles = []
        win32gui.EnumChildWindows(self.handle, self.call_back, sub_handles)
        print(sub_handles)
        return sub_handles

    def get_menu_text(self, menu, idx):
        import win32gui_struct
        mii, extra = win32gui_struct.EmptyMENUITEMINFO()  # 新建一个win32gui的空的结构体mii
        win32gui.GetMenuItemInfo(menu, idx, True, mii)  # 将子菜单内容获取到mii
        ftype, fstate, wid, hsubmenu, hbmpchecked, hbmpunchecked, 
        dwitemdata, text, hbmpitem = win32gui_struct.UnpackMENUITEMINFO(mii

你可能感兴趣的:(python,pywin32,获取窗体edit内容)