• 使用微信控制你的电脑


    title: 使用微信控制你的电脑
    author:青南
    date: 2014-12-23 22:44:20
    categories: [Python]
    tags: [Python,email]

    A totally amazing!!!

    源代码请戳->https://github.com/kingname/MCC

    实际上使用任何可以发送邮件的东西都可以。但是因为微信比较普及,所以就用微信的发送邮件功能做一个测试吧~~

    文件结构

    程序由两部分构成:

    • _config.ini为配置文件,用于配置主人邮箱,奴隶邮箱和手工添加需要执行的命令
    • auto.py为程序的主体文件,相关的实现代码均在里面

    软件原理

    本程序需要使用两个邮箱,我给他们取名字为【主人邮箱】和【奴隶邮箱】。建议奴隶邮箱使用小号。主人邮箱使用大号,我是使用的我的QQ邮箱作为主人邮箱,临时申请的一个新浪邮箱作为奴隶邮箱。目前奴隶邮箱使用新浪邮箱测试通过,其他邮箱未做测试。各位有兴趣的朋友可以测试一下并反馈给我,非常感谢~

    本程序使用Python的poplib提供的函数,周期性读取奴隶邮箱最新的一封邮件,如果这封邮件是主人邮箱发送的,并且标题在_config.ini文件中有定义,则执行本标题定义的操作。

    例如,_config.ini文件中有如下定义:

    music=D:ackupMusicIntro.mp3
    

    主人邮箱发送一份邮件,标题为music,电脑就会调用默认播放器,播放D盘中的这个名叫Intro.mp3的音乐。如果这个Intro.mp3本身只有1秒钟,且没有内容,而音乐播放器设置为随机播放,就间接地实现了打开播放器随机播放音乐的目的。

    目前程序可以实现两类功能:
    运行命令与打开文件。

    运行命令

    其中运行命令的原理是:

    os.system(command)
    

    理论上任何在CMD命令提示符下可以执行的命令,在这里都可以执行。_config.ini中默认提供了两个样例,一个关闭计算机:

    shutdown=shutdown -f -s -t 10 -c closing...
    

    另一个是列出当前目录:

    dir=dir
    

    等号左侧为此命令的名字,也就是在邮件中可以发送的标题内容,等号右侧为命令本身。注意等号左右均不能有空格。

    打开文件

    打开文件的原理是:

    win32api.ShellExecute(0, 'open', open_file, '','',1)
    

    其中,open_file为文件在电脑中的位置。函数调用Windows的API来运行程序,效果和用鼠标双击相同。

    运行流程

    程序运行以后,先加载_config.ini,配置主人邮箱和奴隶邮箱,并确定扫描频率(time_limit)为多少秒检查一次邮箱。同时使用字典将命令的名称和命令本身添加到内存中。接下来的操作如下:

    使用主人邮箱发送相应的命令名称以后,就能触发电脑的相关操作。

    程序配置

    打开_config.ini文件:

    • host填写奴隶邮箱的pop3服务器,例如新浪的pop3服务器为

        pop.sina.com
      
    • username为奴隶邮箱的邮箱号

    • password为奴隶邮箱的密码

    • boss_email为主人邮箱号

    • time_limit控制程序检查邮箱的评论,默认为300秒,也就是5分钟

    • <command>与</command>(抱歉这里不得不用全角的尖括号,因为博客园markdown转义老是出问题)之间为命令区,此处可以使用任何能在CMD命令提示符中执行的命令格式为:

        名字=命令
      

    注意=左右不能出现空格

    • <open_file></open_file>(抱歉这里不得不用全角的尖括号,因为博客园的markdown转义老是出问题)之间为可以打开的文件。任何在电脑上可以使用鼠标双击打开的程序、文件均可把其地址写在此处。格式为:

       名字=地址
      

    注意=左右不能出现空格

    编译程序

    使用py2exe编译。进入代码目测,执行以下代码:

    python mysetup.py py2exe
    

    Todo

    接下来的版本升级中

    • 会添加更多的操作进去
    • 开发图像界面,使配置更方便
    • 动态调整检查频率
    • 通过邮件的内容返回命令的执行状态
    • 通过邮件内容返回文件列表
    • 解决打开的文件功能在文件名和路径不能有汉字的bug

    致谢

    感谢知乎用户 @印如意fitz的启发与思路提供。


    独立技术博客请戳->https://www.kingname.info

    两个博客内容相同。转载请注明出处。

  • 相关阅读:
    layer 弹窗使用说明
    从零开始写代码 Python 8分钟实现Floyd最短路径算法
    vue项目中使用SVGICON
    jeecgbootvue3笔记(六)主子组件数据加载
    jeecgbootvue3AntDesign笔记(十四)——异步调用后端
    【转载】net core中调用webservice
    QNX 命令行总结
    C++中%作为引导符的使用总结
    流程自动化RPA,Power Automate Desktop系列 流程挖掘(Process Mining),正成为海外大厂的兵家必争之地
    乘风破浪,遇见最美Windows 11之新微软商店(Microsoft Store)生态 万兴科技旗下18款应用入驻微软商店,Wondershare Filmora斩获微软应用商店编辑精选奖
  • 原文地址:https://www.cnblogs.com/xieqiankun/p/mail_control_computer.html
Copyright © 2020-2023  润新知