最新消息:这里是最新消息

pywin32库的常用整理

python benty 829浏览 0评论

pywin32的主要作用:

titles = set()
def foo(hwnd,mouse):
if IsWindow(hwnd) and IsWindowEnabled(hwnd) and IsWindowVisible(hwnd):
titles.add(GetWindowText(hwnd))
EnumWindows(foo, 0)
list = []

for title in titles:
if title:
list.append(title)
print(list)

a=”模拟器”

if title.find(a) != -1:#如果找不到程序
hwnd = win32gui.FindWindow(0,a)
win32gui.SetWindowPos(hwnd, win32con.HWND_TOP, 0, 0, 640, 360, win32con.SWP_SHOWWINDOW)
hwnd = win32gui.FindWindow(0,a)
size = win32gui.GetWindowRect(hwnd)
# 在模拟器点击游戏图标进入游戏
win32api.SetCursorPos([size[0] + 410, size[1] + 186])
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP | win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0)
time.sleep(10)
return size

返回所有句柄的列表

1.捕获窗口;2.模拟鼠标键盘动作;3.自动获取某路径下文件列表;4.PIL截屏功能

首先下载一个pywin32(直接百度搜就行了,注意python的版本和系统位数,对应好就行),然后直接运行安装。在python的ide中输入 :

import win32api

import win32con

如下图无报错就说明正常使用了。

用法:
1.鼠标键盘的操作

#获取鼠标位置
win32api.GetCursorPos()

#鼠标左键按下
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)

#鼠标左键放开
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)

#鼠标右键按下
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)

#鼠标右键放开
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0)

#设置鼠标位置
win32api.SetCursorPos((x, y))

#键盘输入事件
win32api.keybd_event(VK_CODE[word], 0, 0, 0)
win32api.keybd_event(VK_CODE[word], 0, win32con.KEYEVENTF_KEYUP, 0)


2.获取窗口的信息

# 获取窗口句柄
handle = win32gui.FindWindow(0, ‘窗口名字’)
#返还窗口信息(x,y坐标,还有宽度,高度)
handleDetail = win32gui.GetWindowRect(handle)

3.弹窗警告

win32api.MessageBox(win32con.NULL, ‘Python 你好!’, ‘你好’, win32con.MB_OK)

 

4.一般获取窗口句柄之后定位到0.0然后好截图啊

a = '夜神模拟器'
        if title.find(a) != -1:
            hwnd = win32gui.FindWindow(0,a)
            win32gui.SetWindowPos(hwnd, win32con.HWND_TOP, 0, 0, 640, 360, win32con.SWP_SHOWWINDOW)
            hwnd = win32gui.FindWindow(0,a)
            size = win32gui.GetWindowRect(hwnd)
            # 在模拟器点击游戏图标进入游戏
            win32api.SetCursorPos([size[0] + 410, size[1] + 186])
            win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0)#跟句柄没关系,只是点击.
            win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP | win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0)
            time.sleep(10)

 

 

 

 

 

 

 

 

 

转载请注明:稻香的博客 » pywin32库的常用整理

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址