我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python实现用手机监控远程控制电脑的方法

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python实现用手机监控远程控制电脑的方法

一、前言

很多时候,我们都有远程控制电脑的需求。比如正在下载某样东西,需要让电脑在下载完后关机。或者你需要监控一个程序的运行状况等。

今天我们就来用Python实现一个远程监控并控制电脑的小程序。

二、实现原理

听起来远程控制电脑好像很高级的样子,但是实现起来其实非常简单。实现原理如下:

  • 运行程序,让程序不停地读取邮件
  • 用手机给电脑发送邮件
  • 判断是否读取到指定主题的邮件,如果有,则获取邮件内容
  • 根据邮件内容,执行预设的函数

与其说是学习如何远程控制电脑,还不如说是学习如何读取邮件。当然,上面的的流程只实现了远程控制电脑,而没实现对电脑的监控。而监控的操作可以以截图的方式来进行。

我们可以预设一个指令,当读取到邮件内容为grab时,我们就发送电脑截图。如何将电脑截图发送给手机邮箱,这样就达到了监控的效果。

关于如何发送邮件可以参考博客:如何用Python发送邮件?。这里就不再详细说了。下面我们看看如何读取邮件。

三、读取邮件

读取邮件需要使用到imbox模块,安装语句如下:


pip install imbox

读取邮件的代码如下:


from imbox import Imbox

def read_mail(username, password):
    with Imbox('imap.163.com', username, password, ssl=True) as box:
        all_msg = box.messages(unread=True)
        for uid, message in all_msg:
            # 如果是手机端发来的远程控制邮件
            if message.subject == 'Remote Control':
                # 标记为已读
                box.mark_seen(uid)
                return message.body['plain'][0]

首先我们用with语句,打开邮箱。然后通过下面语句获取所有的未读邮件:


all_msg = box.messages(unread=True)

获取未读邮件后,对邮件进行遍历。将主题为“Reomte Control”的邮件标记为已读,并返回文本内容。

这里需要注意,因为我们筛选出了主题为“Remote Control”的邮件,因此我们在用手机发邮件的时候需要将主题设置为“Remote Control”,这样可以避免其它邮件的干扰。

四、截图

截图需要使用到PIL模块,安装如下:


pip install pillow

截图的代码很简单:


from PIL import ImageGrab

def grab(sender, to):
    # 截取电脑全屏
    surface = ImageGrab.grab()
    # 将截屏保存为surface.jpg
    surface.save('surface.jpg')
    # 将截屏发送给手机
    send_mail(sender, to, ['surface.jpg'])

其中send_mail的代码如下:


import yagmail

def send_mail(sender, to, contents):
    smtp = yagmail.SMTP(user=sender, host='smtp.163.com')
    smtp.send(to, subject='Remote Control', contents=contents)

关于发送邮件的介绍可以参考上面提到的博客。

五、关机

关机的操作非常简单,我们可以用python来执行命令行语句即可。代码如下:


import os

def shutdown():
 # 关机
    os.system('shutdown -s -t 0')

除了关机,我们还可以执行很多操作。对于一些复杂的操作,我们可以预编写一些bat文件,这里就不演示了。

六、完整代码

上面我们编写了各个部分的代码,然后再来看看主体部分的代码:


def main():
 # 电脑用来发送邮件已经电脑读取的邮箱
    username = 'sockwz@163.com'
    password = '********'
 
 # 手机端的邮箱
    receiver = '2930777518@qq.com'
 
 # 读取邮件的时间间隔
    time_space = 5
 
 # 注册账户
    yagmail.register(username, password)
    
    # 循环读取
    while True:
        # 读取未读邮件
        msg = read_mail(username, password)
        if msg:
         # 根据不同的内容执行不同操作
            if msg == 'shutdown':
                shutdown()
            elif msg == 'grab':
                grab(username, receiver)
        time.sleep(time_space)

我们可以根据自己的需求编写一些其它功能。下面是完整的代码:


import os
import time
import yagmail
from imbox import Imbox
from PIL import ImageGrab


def send_mail(sender, to, contents):
    smtp = yagmail.SMTP(user=sender, host='smtp.163.com')
    smtp.send(to, subject='Remote Control', contents=contents)


def read_mail(username, password):
    with Imbox('imap.163.com', username, password, ssl=True) as box:
        all_msg = box.messages(unread=True)
        for uid, message in all_msg:
            # 如果是手机端发来的远程控制邮件
            if message.subject == 'Remote Control':
                # 标记为已读
                box.mark_seen(uid)
                return message.body['plain'][0]


def shutdown():
    os.system('shutdown -s -t 0')


def grab(sender, to):
    surface = ImageGrab.grab()
    surface.save('surface.jpg')
    send_mail(sender, to, ['surface.jpg'])


def main():
    username = 'sockwz@163.com'
    password = '你的授权码'
    receiver = '2930777518@qq.com'
    time_space = 5
    yagmail.register(username, password)
    while True:
        # 读取未读邮件
        msg = read_mail(username, password)
        if msg:
            if msg == 'shutdown':
                shutdown()
            elif msg == 'grab':
                grab(username, receiver)
        time.sleep(time_space)


if __name__ == '__main__':
    main()

到此这篇关于Python实现用手机监控远程控制电脑的方法的文章就介绍到这了,更多相关Python 手机监控远程控制电脑内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python实现用手机监控远程控制电脑的方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python实现用手机监控远程控制电脑的方法

一、前言很多时候,我们都有远程控制电脑的需求。比如正在下载某样东西,需要让电脑在下载完后关机。或者你需要监控一个程序的运行状况等。 今天我们就来用Python实现一个远程监控并控制电脑的小程序。 二、实现原理听起来远程控制电脑好像很高级的样
2022-06-02

win10手机远程控制电脑怎么实现

这篇文章主要介绍“win10手机远程控制电脑怎么实现”,在日常操作中,相信很多人在win10手机远程控制电脑怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”win10手机远程控制电脑怎么实现”的疑惑有所
2022-12-07

手机如何远程控制云服务器电脑使用方法

首先,打开控制面板。在Windows系统中,我们可以使用以下步骤来打开控制面板:打开控制面板后,鼠标右击“我的电脑”,选择“属性”。在属性窗口中,选择“远程”选项卡,然后选择“允许远程连接到此计算机”和“允许远程协助连接到此计算机”选项。点击“允许远程连接到此计算机”选项,选择“用Telnet协议远程连接此计算机”选项
手机如何远程控制云服务器电脑使用方法
2023-10-28

腾讯云服务器远程控制怎么用手机控制电脑

首先,远程控制是指通过网络连接腾讯云服务器,将用户的电脑连接到互联网上,实现对电脑的远程操作。用户可以通过微信、QQ等社交软件或者远程桌面连接等方式与自己的电脑进行连接,实现对电脑的远程操作。这种远程控制方式非常方便,只需要在任何一台可以上网的电脑上安装相应的远程控制软件,即可实现对电脑的远程操作。其次,腾讯云提供了多
腾讯云服务器远程控制怎么用手机控制电脑
2023-10-28

Python怎么实现用邮件远程控制自己电脑

这篇“Python怎么实现用邮件远程控制自己电脑”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python怎么实现用邮件远程
2023-06-27

手机如何远程控制云服务器电脑使用

如果您想远程控制云服务器电脑,请按照以下步骤操作:打开控制面板,选择“网络和共享中心”。点击“管理这台服务器”。在弹出的菜单中,点击“远程协助”。在弹出的窗口中,选择“允许远程管理”。在远程协助窗口中,勾选需要远程控制的云服务器电脑。输入被远程控制的云服务器电脑的IP地址和MAC地址。如果您已经注册了远程管理的账户,则可以通过该账户远程启动被控制的云服务器电脑。请注意,远程控制是有风险的,并且可能不安全。如..
2023-10-27

python如何实现远程控制电脑(结合微信)

不知道大家有没有这样一个烦恼,“自己的电脑总是被别人使用,又不好意思设置密码”,所以利用python设计了一个程序来实现自由管控。 功能虽然简单,但大家可以通过其思路来实现更多的功能。 大致功能主要是两个部分,一、电脑开机时,我的手机能收到
2022-06-04

阿里云服务器怎么用手机远程控制电脑

如果您想使用阿里云服务器进行远程控制电脑,您可以按照以下步骤进行操作:打开您的阿里云控制台程序。在“我的设备“或”设置“下拉菜单中,找到“阿里云连接”。点击”远程控制“。这将打开您的手机与阿里云服务器的连接。使用阿里云账号登录并控制您的电脑。在控制台中,您可以看到手机与阿里云服务器的连接状态。在手机上,按照提示,完成连接。完成连接后,您就可以使用手机控制您的电脑了。需要注意的是,在
2023-10-26

使用手机控制电脑:亿速云服务器的方法

1.远程桌面连接远程桌面连接是一种常见的方法,可以使用手机控制电脑。以下是使用亿速云服务器进行远程桌面连接的步骤:在亿速云服务器上安装远程桌面服务。确保你的服务器已经安装了远程桌面服务,如果没有安装,可以通过控制面板或者命令行进行安装。配置远程桌面连接。在服务器上,打开“系统属性”窗口,选择“远程”选项卡,勾选“允许远
使用手机控制电脑:亿速云服务器的方法
2023-10-27

教你三种方法远程控制他人的电脑

很抱歉,但我无法提供关于远程控制他人电脑的教程。这种行为违反了隐私权和法律法规,并且是不道德的。我们应该尊重他人的隐私和个人权利,确保我们的行为合法和道德。如果你需要远程协助或共享电脑屏幕,建议使用合法且安全的服务,例如远程桌面连接或远程协
2023-09-07

阿里云服务器怎么用手机远程控制电脑端

如果您想使用阿里云服务器的远程控制功能,可以使用以下方法:使用Chromium手机客户端:您的Chromium手机客户端支持多种设备,包括手机和平板电脑。您可以通过ChromeWeb浏览器登录并连接到服务器,然后使用所需的功能(例如控制摄像头)。使用BaiduMobileWebsite:BaiduMobileWebsite是一个手机应用程序,可以让您登录到阿里云服务器并访问所需的数据。您可以将文件、照片和其他数据保存到本地,并且您可以轻松地在手机和平板电脑之...
2023-10-27

手机怎么远程控制腾讯云服务器电脑使用

首先,你需要下载并安装一个腾讯云手机APP。在应用商店中搜索“腾讯云”,下载并安装它。打开手机APP,进入主页面,找到“控制面板”选项,然后点击进入。在控制面板中,你可以看到腾讯云服务器的各种信息,包括连接方式、服务状态、安全策略等。你可以根据需要选择相应的选项来控制腾讯云服务器。其次,你需要在手机上设置一个账号密码。
手机怎么远程控制腾讯云服务器电脑使用
2023-10-28

手机连接云服务器设备控制电脑的方法

1.下载并安装远程桌面应用程序要通过手机连接云服务器设备控制电脑,首先需要下载并安装适用于你的手机操作系统的远程桌面应用程序。常见的远程桌面应用程序包括MicrosoftRemoteDesktop、TeamViewer和AnyDesk等。2.配置云服务器在连接之前,确保你的云服务器已经正确配置并具备远程访问功能。这通常涉及到设置远程桌面访问权限、开放相应的端口以及配置网络防火墙等。具体的配置步骤可以参考云服务器提供商的文档或向其技术...
2023-10-27

腾讯云服务器远程控制怎么用手机操作电脑

首先,使用腾讯云服务器远程控制工具可以实现在云服务器上对自己的电脑进行远程控制。例如,您可以使用该工具轻松地登录到自己的云服务器上,然后使用远程桌面连接功能来操作自己的电脑。在此过程中,您可以在云服务器上访问您的电脑,而不是直接在您的本地电脑上输入命令或进行操作。其次,使用腾讯云服务器远程控制工具还可以实现在云服务器上
2023-10-27

手机远程控制云服务器设备的使用方法

1.选择适合的远程控制工具要远程控制云服务器设备,首先需要选择适合的远程控制工具。以下是一些常用的远程控制工具:SSH(SecureShell):SSH是一种加密的网络协议,可以通过终端或命令行界面远程连接到云服务器设备。它是一种安全可靠的远程控制方式,适用于Linux和Unix系统。远程桌面协议(RDP):RDP是一
手机远程控制云服务器设备的使用方法
2023-10-28

Python如何实现控制手机电脑拍照并自动发送邮箱

这篇文章给大家分享的是有关Python如何实现控制手机电脑拍照并自动发送邮箱的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。本文思路1.通过opencv调用摄像头拍照保存图像本地2.用email库构造邮件内容,保存
2023-06-29

云服务器怎么远程控制电脑屏幕使用方法

远程控制电脑屏幕使用的方法如下:使用浏览器访问云服务器主机的Web页面,输入要访问的账户名和密码,然后进行身份验证和用户授权。在云服务器主机的控制面板中找到“屏幕共享”选项卡,点击进入该界面。在“屏幕共享”选项卡中,找到您想要进行屏幕共享的账户和密码,点击“确定”按钮。在弹出的对话框中,选择您想要进行屏幕共享的时间段,比如晚上或早上等。在弹出的对话框中,选择要共享屏幕的分辨率和屏幕大小。在弹出的对话框中,点击...
2023-10-27

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录