这是一段自动登录QQ的代码
import subprocess
import win32api
import win32con
import time
from ctypes import *
def an(qq): #自定义 键盘输入
for i in qq:
#print(i)
win32api.keybd_event(ord(i),0,0,0)
win32api.keybd_event(ord(i),0,win32con.KEYEVENTF_KEYUP,0)
time.sleep(0.5)
qq_exe = r"D:\qq\Bin\QQ.exe" #打开QQ
subprocess.Popen([qq_exe])
time.sleep(5)
windll.user32.SetCursorPos(969, 583)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0) #选定QQ账号输出框
time.sleep(0.5)
an("*****") #输入账号
win32api.keybd_event(9,0,0,0)
win32api.keybd_event(9,0,win32con.KEYEVENTF_KEYUP,0) #Tab
an("*******") #输入密码
win32api.keybd_event(13,0,0,0)
win32api.keybd_event(13,0,win32con.KEYEVENTF_KEYUP,0) #回车
time.sleep(5)
我发现在密码含有英文字母的时候,部分英文字母并没有输入,会直接跳过。
观察了几次,好像"x","q"等都会不输入。纯数字的密码可以完全输入。(只试了四五组,可能不准确)
请问这是什么情况?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
可以参考 Virtual-Key Codes
pywin32是封装这个
你看了一下就会发现 只有 大写的
'A' - 'Z'没有小写的'a' - 'z'你想了一下我们正常的键盘输入就知道了
普通按
A(键盘上的键位) 在大写字母灯没亮的时候输入的是a所以对于想要输入
"q"你应该用的是
ord("q".upper())那么怎么输入大写的
A呢, 举一反三, 相信大家肯定会终于做完了!