yuupuu 发表于 2022-8-28 17:05

Python倒计时自动发微信(电脑版微信)

就一个简单的小工具
可以用来做定时提醒,定时发送消息





用Python写的

代码如下:
import pyautogui
import time
import win32api
import win32con
import win32gui
import win32clipboard as w

def FindWindow(chatroom):
    win = win32gui.FindWindow('WeChatMainWndForPC',chatroom)
    print('正在启动微信')
    print('-----------------')
    if win != 0:
      win32gui.ShowWindow(win, win32con.SW_SHOWMINIMIZED)
      win32gui.ShowWindow(win, win32con.SW_SHOWNORMAL)
      win32gui.ShowWindow(win, win32con.SW_SHOW)
      win32gui.SetWindowPos(win, win32con.HWND_TOP, 0, 0, 500, 700, win32con.SWP_SHOWWINDOW)
      win32gui.SetForegroundWindow(win)# 获取控制
      time.sleep(1)
      tit = win32gui.GetWindowText(win)
      print('已启动【'+str(tit)+'】窗口')
      print('-----------------')
    else:
      print('找不到【%s】窗口' % chatroom)
      print('-----------------')
      exit()

# 设置和粘贴剪贴板
def ClipboardText(ClipboardText):
        w.OpenClipboard()
        w.EmptyClipboard()
        w.SetClipboardData(win32con.CF_UNICODETEXT, ClipboardText)
        w.CloseClipboard()
        time.sleep(1)
        win32api.keybd_event(17,0,0,0)
        win32api.keybd_event(86,0,0,0)
        win32api.keybd_event(86,0,win32con.KEYEVENTF_KEYUP,0)
        win32api.keybd_event(17,0,win32con.KEYEVENTF_KEYUP,0)

# 模拟发送动作
def SendMsg():
    win32api.keybd_event(18, 0, 0, 0)
    win32api.keybd_event(83,0,0,0)
    win32api.keybd_event(18,0,win32con.KEYEVENTF_KEYUP,0)
    win32api.keybd_event(83,0,win32con.KEYEVENTF_KEYUP,0)

# 模拟发送微信文本消息
def SendWxMsg(wxid,sendtext):
        # 先启动微信
        FindWindow('微信')
        time.sleep(1)
        # 定位到搜索框
        pyautogui.moveTo(143, 39)
        pyautogui.click()
        # 搜索微信
        ClipboardText(wxid)
        time.sleep(1)
        # 进入聊天窗口
        pyautogui.moveTo(155, 120)
        pyautogui.click()
        # 粘贴文本内容
        ClipboardText(sendtext)
        # 发送
        SendMsg()
        print('已发送')
        # 关闭微信窗口
        time.sleep(1)
        pyautogui.moveTo(683, 16)
        pyautogui.click()

# 打开控制台运行
print('欢迎使用Python自动发微信脚本')
print('---------------------')
print('正在启动中...')
print('已启动')
print('---------------------')

WxMsg = input('你要发送的内容是:')
print('---------------------')
ToWx = input('你要发送给谁(填微信号):')
print('---------------------')
yanshi = input('延迟多少秒发送(单位/秒,无需填写单位,只需填写数字):')
print('---------------------')
print('倒计时中...')
print('---------------------')

# 延时发送
time.sleep(int(yanshi))

# 执行发送动作
SendWxMsg(ToWx,WxMsg)

已打包
pyinstaller打出来的包挺大的,因为一堆库。

https://likeyun.lanzout.com/i2iUD0agek4f

亡者之心x 发表于 2022-8-29 10:40

yuupuu 发表于 2022-8-29 09:51
不存在你说的这个情况。每次执行脚本,我们的程序都会重设窗口大小,根据预设的大小进行点击。

看到了,固定了500,700的大小, 建议做个收尾, 记录原窗口大小,完成脚本操作时,恢复原窗口大小

zyqking 发表于 2023-2-8 23:22

能给微信群发信息吗

apromised 发表于 2022-8-28 17:14

最近刚好学习,参考参考~

cutemn 发表于 2022-8-28 17:30

这个不错,时候发提醒消息。

WY1234 发表于 2022-8-28 17:37

支持批量回复吗

平凡的土猫 发表于 2022-8-28 17:53

不错的小功能,谢谢楼主放出的源码{:1_893:}

imchentiefeng 发表于 2022-8-28 18:08

楼主大大好人,谢谢分享,收藏啦

juebanheise 发表于 2022-8-28 18:18

这个软件很实用啊。

外酥内嫩 发表于 2022-8-28 18:20

这个启动程序的是啥库啊

BlankWebpage 发表于 2022-8-28 19:43

感谢分享(*^ω^*)

dxxiong 发表于 2022-8-28 20:19

有点意思~
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: Python倒计时自动发微信(电脑版微信)