一个自动签到程序的构想

187 阅读2分钟

咳咳,3号下午回家,回家后就在忙一件事,放假前就一直在设计这个东西,一个好玩的东西,但是现在打算用他的残缺怀念网课的三年,所以决定:不写了!可以实现什么功能呢?

  1. 腾讯会议、钉钉到点自动启动·

  2. 通过应用程序先将最近的会议或者是是课程会议号、会议密码、会议时间以及主持人名字存到sqlite里面(轻量化数据库)

  3. 前提是电脑不关机,程序不退出

  4. 当进入会议的时候会自动关闭麦克风和摄像头(借鉴自动化测试模块——python的uiautomation)

  5. 最最最重要的功能,自动签到!!!不是利用OCR或图像识别哈

    一开始打算用Java swing实现,外观长这样:

    图片但很快因为Java那个文字识别依赖坑太多了,还有一些极其不方便的操作,把swing搞明白了发现后面写不来,Java的文字识别实现了但是没能实现自动化操作,所以功亏一篑。

改用PyQt5,可以说是Qt的进化版,得益于对MFC的学习与掌握,不过其核心机制挺有意思——信号与槽,这种设计极其智慧,很快样子就写出来了,就思考功能的实现,数据库方面好说,下面就是去根据Qt文档写方法,绑定事件,最后在实现自动签到上面卡住了。

能不能通过网络编程或者抓包实现对新消息的监测,答案是肯定能的,奈何功力不够,很多条件不满足。

最后选择使用ui自动化

经过半天的查找,使用UISpy找到了腾讯会议聊天框的位置,该树结构的第14层,也就是说腾讯会议的组件层数大于14层。

图片

图片

图片

这样就基本实现了新消息监测,根据

其次是通过时间判断什么时候入会,无非就是利用数据库根据时间排序,先来先服务的基本思路,当if语句成立,启动腾讯会议

图片

图片

图片

三年前,我坐在这里上网课,三年后我又坐到这里上网课

还记得高三的作文结尾

图片

可能写出来以后也用不上了