python【第十四篇】 窗口控制之win32gui

win32gui初识

来回显示/隐藏QQ窗口

 

import win32con
import win32gui
import time

# 找出窗体编号
QQWin = win32gui.FindWindow("TXGuiFoundation", "我的iPhone")  # 类名,标题
CmdWin = win32gui.FindWindow("ConsoleWindowClass", "管理员: C:\windows\system32\cmd.exe")  # 控制CMD窗体

while True:
    # 隐藏窗体
    win32gui.ShowWindow(QQWin, win32con.SW_HIDE)
    time.sleep(2)
    # 显示窗体
    win32gui.ShowWindow(QQWin, win32con.SW_SHOW)

【群控软件】

import win32gui, win32con
import time
import pyperclip


# 读文件 行读
def read_file(msg_file: str) -> list:
    with open(msg_file, encoding='utf8') as f:
        return ['' if i == '\n' else i for i in f.readlines()]


# 按重复次数发送消息
def form(messages):
    name = "静待时变"
    t = 2
    pyperclip.init_no_clipboard()

    def sendMsger(name):
        # 自动定位聊天窗口
        hand = win32gui.FindWindow('TXGuiFoundation', name)
        print(hand)
        # 重复发送消息
        for msg in messages:
            pyperclip.copy(msg)
            win32gui.PostMessage(hand, win32con.WM_PASTE, 0, 0)  # 向窗口发送剪贴板内容
            win32gui.PostMessage(hand, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)  # 向窗口发送 回车键
            win32gui.PostMessage(hand, win32con.WM_KEYUP, win32con.VK_RETURN, 0)
            time.sleep(t)
        print("运行完成!")

    time.sleep(1)
    print("开始发送")
    print('...')
    sendMsger(name)


def run():
    messages = read_file('messages2.txt')
    form(messages)


if __name__ == "__main__":
    while True:
        run()
hotWaterV2QQ.py

 

 

 

 

 

 

  

 

posted @ 2020-09-22 13:53  沐风先生  阅读(8727)  评论(0编辑  收藏  举报