由于微信在电脑上用了好几年,文件夹巨大,但有些视频是有用的,所以没法一次性清理
于是找些没用的群,定向进行删除,但那工作量也是要命。
想找弄个按钮精灵来处理一下,但发现这个软件已经太low了,全TM是广告,基本是流氓。
还是自己写个python脚本比较靠谱。
原理就是打开群里的聊天记录,然后按图片和视频查找,此时弹窗会把所有视频和图片列出来,然后就是多选,删除了。
import pyautogui as pg import time from ctypes import * from ctypes import wintypes import win32gui #下面代码为检测鼠标所在的位置,条件改成true为一直检测。 while (11==121): print(pg.position()) time.sleep(0.1) #以下注释为一些常用的方法 #pyautogui.click() #pyautogui.click(button=‘right’) #pyautogui.doubleClick() #pg.moveTo(100,200,2) 2 是移动秒数的意思,默认为 0.1 ,快速移动的那种 #pg.dragTo(300, 400, 2, button=‘left’) #pyautogui.press(‘enter’) #pyautogui.hotkey(‘ctrl’, ‘shift’, ‘t’) #pyautogui.hotkey(‘ctrl’, ‘c’) 复制 #按住不动可以使用 keyDown 方法,释放按键可以使用 keyUp 方法 #pg.PAUSE=1 指的是每隔一秒执行一个操作指令 #pg.keyDown('alt') #pg.press('tab') #pg.keyUp('alt') #pg.write(‘hello Python !’, interval=0.3) 控制键盘输入内容 #此代码未用到,微信的弹出菜单不在三界之中,用不到。 def ClickOnMenuItemByText(text, button = "LEFT"): hwnd = win32gui.FindWindow("#32768", None) MN_GETHMENU = 0x01E1 hmenu = win32gui.SendMessage(hwnd, MN_GETHMENU, 0, 0) print(hmenu) icount = win32gui.GetMenuItemCount(hmenu) print(icount) for i in range(icount): t = GetMenuItemString(i).decode("gbk").encode("UTF-8") print (text, t) if text == t: rect = rect = win32gui.GetMenuItemRect(hwnd, hmenu, i)[1] x = (rect[2] - rect[0]) / 2 + rect[0] y = (rect[3] - rect[1]) / 2 + rect[1] print(x, y) #MouseClick(x, y, button) #此处原码参考https://blog.csdn.net/weixin_28864485/article/details/112965939 return True #该方法并不通用,需要人工做一定调校,目前是把微信的窗口放在(0,0)的位置,然后基本可用。 def a(): time.sleep(0.5) #user32=windll.user32 #p=wintypes.POINT() #buffer=create_string_buffer(255) #user32.GetCursorPos(byref(p)) #HWnd=user32.WindowFromPoint(p) #print(HWnd) pg.PAUSE=0.1 n=0 while (n<100): n=n+1 print("n:",n) qd=680 pg.moveTo(80,qd,0.5) pg.click(button='right') pg.moveTo(110,qd+100,0.5) #多选菜单 pg.click() pg.moveTo(80,qd,0.5) pg.click() x1=85 y1=150 for i in range(5): for ii in range(4): pg.moveTo(x1+i*100,y1+ii*110,0.1) pg.click() #删除 pg.moveTo(420,790,0.5) pg.click() #确认 pg.moveTo(320,505,0.5) pg.click() time.sleep(0.5) a() input("op is ok")