好玩的py 干货Pythoner集中营

使用微信控制你的电脑

2014-12-23  本文已影响1151人  青南

A totally amazing!!!

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

原文地址:http://kingname.info/2014/12/23/A-Totally-Amazing/

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

文件结构

程序由两部分构成:

软件原理

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

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

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

music=D:\backup\Music\Intro.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文件:

注意=左右不能出现空格

注意=左右不能出现空格

编译程序

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

python mysetup.py py2exe

Todo

接下来的版本升级中

致谢

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

上一篇下一篇

猜你喜欢

热点阅读