Python 使用win32相关的库实现简单自动操作电脑QQ--(2,打开好友对话框以及其他操作)

这次为大家带来的是对登陆后的QQ进行的操作:
 

  1,打开好友对话框

代码

import win32gui, win32con, win32api, time
import win32clipboard as w
#已知一个窗口的句柄 hwnd
hwnd = win32gui.FindWindow('TXGuiFoundation', 'QQ')
print(hwnd)

#一个刷新粘贴板的函数
def setText(str):
    w.OpenClipboard()
    w.EmptyClipboard()
    w.SetClipboardData(win32con.CF_UNICODETEXT, str)
    w.CloseClipboard()

#设置hwnd顶置就可以实现填充
def find_py(zh):
    setText(zh)
    win32gui.SetForegroundWindow(hwnd)
    win32gui.ShowWindow(hwnd, win32con.SW_SHOW)
    time.sleep(0.5)
    # 填充粘贴板的内容
    win32gui.SendMessage(hwnd, 770, 0, 0)
    time.sleep(0.2)
    win32api.keybd_event(13, 0, 0, 0)
    win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0)
    time.sleep(0.2)

find_py('1459229119')

以上便可以打开好友对话框,接下来是给好友发送消息:

2,发送消息

代码:

def FaSong_xx(hwnd, str):
    #依然顶置 一个是顶置一个是显示主要针对最小化后的窗口
    setText(str)
    win32gui.SetForegroundWindow(hwnd)
    win32gui.ShowWindow(hwnd, win32con.SW_SHOW)
    time.sleep(0.5)
    # 填充粘贴板的内容
    win32gui.SendMessage(hwnd, 770, 0, 0)
    time.sleep(0.2)
    win32api.keybd_event(13, 0, 0, 0)
    win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0)
    time.sleep(0.2)

# 注:使用例如:FindWindow('TXGuiFoundation', '初学者') 时
# 'TXGuiFoundation'为窗口的类名  '初学者'为标题 具体的有什么不懂可以使用spy++查看
py_hwnd = win32gui.FindWindow('TXGuiFoundation', '初学者')
# print(py_hwnd)
FaSong_xx(py_hwnd, 'nihao')

3,给好友点赞

代码:

def DianZan(hwnd):
    win32gui.SetForegroundWindow(hwnd)
    win32gui.ShowWindow(hwnd, win32con.SW_SHOW)
    time.sleep(0.5)
    win32api.keybd_event(16, 0, 0, 0)
    win32api.keybd_event(9, 0, 0, 0)
    win32api.keybd_event(9, 0, win32con.KEYEVENTF_KEYUP, 0)
    time.sleep(0.1)
    win32api.keybd_event(9, 0, 0, 0)
    win32api.keybd_event(9, 0, win32con.KEYEVENTF_KEYUP, 0)
    win32api.keybd_event(16, 0, win32con.KEYEVENTF_KEYUP, 0)
    time.sleep(0.2)

    #回车键打开点赞窗口
    win32api.keybd_event(13, 0, 0, 0)
    win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0)
    time.sleep(0.2)

    dz_hwnd = win32gui.FindWindow('TXGuiFoundation', None)
    dz_hwnd1 = win32gui.GetForegroundWindow()

    #来一个简单的判断
    if '的资料' not in win32gui.GetWindowText(dz_hwnd1):
        DianZan(hwnd)
    else:
        #两下tab聚焦到点赞的控件
        win32api.keybd_event(9, 0, 0, 0)
        win32api.keybd_event(9, 0, win32con.KEYEVENTF_KEYUP, 0)
        time.sleep(0.1)
        win32api.keybd_event(9, 0, 0, 0)
        win32api.keybd_event(9, 0, win32con.KEYEVENTF_KEYUP, 0)
        time.sleep(1)
        
        for i in range(25):
            win32api.keybd_event(13, 0, 0, 0)
            win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0)
            time.sleep(0.01)


# 注:使用例如:FindWindow('TXGuiFoundation', '初学者') 时
# 'TXGuiFoundation'为窗口的类名  '初学者'为标题 具体的有什么不懂可以使用spy++查看
find_py('1459229119')
# time.sleep(1)
py_hwnd = win32gui.FindWindow('TXGuiFoundation', '初学者')
# print(py_hwnd)
# FaSong_xx(py_hwnd, 'nihao')
DianZan(py_hwnd)

点赞的函数内容其实也不多 就是要执行的按键比较多 

今天的内容就到这里了 今天和大家一起学习了--登录QQ后 搜索好友 给好友发消息 给好友点赞

接下来我会和大家一起学习更多 如果大家有什么好的小项目有瓶颈的话 欢迎一起讨论啊 

猜你喜欢

转载自blog.csdn.net/weixin_43304988/article/details/106875527