python登录QQ 转载

每次登录qq写账号密码难受,借大神的代码实现各qq自动登录,以下直接上代码,须提前安装好pyhook和pyuserinput。

#!/usr/bin/python

import os
import time
import win32gui
import win32api
import win32con
import pymouse, pykeyboard
from pymouse import *
from pykeyboard import PyKeyboard
from ctypes import *


def QQ(qq, pwd):
    # 运行QQ
    os.system('"D:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe"')
    time.sleep(5)
    # 获取QQ的窗口句柄
    # 参数1是类名,参数2是QQ软件的标题
    a = win32gui.FindWindow(None, "QQ")
    # 获取QQ登录窗口的位置
    loginid = win32gui.GetWindowPlacement(a)
    print(loginid)
    print(loginid[4][0])        #这部分返回的值如下图所示
    print(loginid[4][1])

    # 定义一个键盘对象
    k = PyKeyboard()

    # 把鼠标放置到登陆框的输入处
    windll.user32.SetCursorPos(loginid[4][0] + 192, loginid[4][1] + 252)    #需要根据自己电脑选择‘192’和‘112’的值,我尝试后选择192和252,刚好定位到账号输入位置

    # 按下鼠标再释放
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)  # press mouse
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)  # release mouse

    time.sleep(2)
    ###input username

    print(qq)
    # 输入用户名
    k.type_string(qq)
    time.sleep(0.2)
    ##tab
    # 按下tab,切换到输入密码的地方
    win32api.keybd_event(9, 0, 0, 0)            #模拟tab键
    win32api.keybd_event(9, 0, win32con.KEYEVENTF_KEYUP, 0)
    # 按下tab用下面两行也行
    # k.press_key(k.tab_key)
    # k.release_key(k.tab_key)
    # 按下tab用下面一行也行
    # k.tap_key(k.tab_key)

    # 输入密码
    k.type_string(pwd)

    # 按下回车
    win32api.keybd_event(13, 0, 0, 0)           #模拟回车键
    win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0)

QQ('*****','*******')  #输入账号密码

在这里插入图片描述
在这里插入图片描述
pyuserinput安装前需要安装pyhook,而pyhook似乎不能pip安装(或conda安装),我是先下载pyhook安装后,再用conda install pyuserinput命令安装的pyuserinput。
pyhook和pyuserinput的代码参考https://blog.csdn.net/zhusongziye/article/details/79241410
代码转载:https://blog.csdn.net/sessos/article/details/88599210?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值