python win32 简单操作方法
查询句柄 # 根据类名及标题名查询句柄, hwnd = win32gui.FindWindow("Tfrm_YzzPlayer","叶子猪手游模拟器") # 查找指定句柄的子句柄,后两个参数为子类的类名与标题,如果没有或不确定,可以写None hwnd = win32gui.FindWindow(hwnd,None,"sub_class","sub_title") 修改窗口大小 # 没有直接修改窗口大小的方式,但可以曲线救国,几个参数分别表示句柄,起始点坐标,宽高度,是否重绘界面 ,如果想改变窗口大小,就必须指定起始点的坐标,没果对起始点坐标没有要求,随便写就可以;如果还想要放在原先的位置,就需要先获取之前的边框位置,再调用该方法即可 win32gui.MoveWindow(hwnd,20,20,405,756,True) 前台后台 # 指定句柄设置为前台,也就是激活 win32gui.SetForegroundWindow(hwnd) # 设置为后台 win32gui.SetBkMode(hwnd, win32con.TRANSPARENT) 按键 # 在这里两几种方式可以选择 可以使用win32gui包和win32api的包,目前未深入了解,感觉是一样的,每一个里面还有PostMessage与SendMessage两都可选,依据其他文档的说法是SendMessage是同步的,在成功执行后才会返回,而PostMessage是异步执行的,直接返回,只是把内容加在队列里 # 几个参数分别为: 操作的句柄 , 按键的类型(是按下或者是弹起), 键码(大部分的功能键在win32con包中都,对于常用的数字或字母,直接去查找ASII码即可,如A 65 等等),相对于句柄中的位置(在这里需要使用win32api.MAKELONG(x,y)将两个地址转换为一个长地址; # 在这种情况下,可以做到后台的操作 # 需要注意的是每一个按键要有按下与弹起两个过程,比果我们要按Enter键,就需要有两句代码,第二个参数分别为 KEYDOAWN与 KEYUP ,如果是组合键,就先把组合键分别按下后再分别弹起即可 # win32gui.PostMessage(tid, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0) # win32gui.SendMessage(tid, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0) win32api.SendMessage(hwd, win32con.WM_LBUTTONDOWN,… Read More »