• python远程控制电脑


    python拥有大量的第三方库,且语法简单。今天老杨就用python实现远程控制电脑

    ​ 所谓,谋定而后动,在实现任何一个需求之前,我们需要先分析,捋清楚一个思路,远程控制电脑,无非就是接收远程的命令和根据命令去执行对应的操作。那这里,我们借助微信来接收命令,利用我们的一个itchat库实现远程控制电脑

    ​ 按上所说,我们要完成需求,无非是把任务细分,首先,接收到消息指令,再根据对应的指令执行相对应的操作,其中我们需要考虑一个问题就是误触问题。

    ​ python有大量的第三方库,这里我们借助itchat这个第三方库

    ​ 首先通过pip进行第三方库的安装

    ​ pip install itchat

    ​ 引入第三方库

    ​ import itchat

    开始代码,不管三七二十一,先来个标准套路:

    def main():
    pass
    if __name__=='__main__':
    main()
    1
    2
    3
    4
    让微信运行

    import itchat
    def main():
    # 登录微信 避免重复扫码 热加载
    itchat.auto_login(hotReload=True)
    # 微信运行起来
    itchat.run()
    if __name__=='__main__':
    main()
    1
    2
    3
    4
    5
    6
    7
    8
    接收微信消息,获得指令,执行操作

    import os
    @itchat.msg_register('Text')
    def main(msg):
    message = msg['Text']
    if message == '关机':
    os.system('shutdown /s /t 0')
    1
    2
    3
    4
    5
    6
    大概思路已经得知,接下来我们应该做更多优化,比如解决误触等问题

    完整代码如下:

    import itchat
    import os
    import cv2
    @itchat.msg_register('Text')
    def main(msg):
    message = msg['Text'].strip()
    ToUserName = msg['ToUserName']
    FromUserName = msg['FromUserName']
    if FromUserName == ToUserName:
    tip = '输入 on 开启操控 默认是关闭的'
    itchat.send(tip,'filehelper')
    if ToUserName == 'filehelper':
    control(message)
    flag = False
    def control(message):
    global flag
    if message == 'on':
    tip = '现在可以开始操控了 输入关机 或者输入 拍照'
    itchat.send(tip,'filehelper')
    flag = True
    if message == 'off':
    tip = '现在已经操控了 输入 on 打开操控'
    itchat.send(tip,'filehelper')
    flag = False
    if flag == True:
    if message == '关机':
    cmd()
    elif message == '拍照':
    img()
    def cmd(http://www.my516.com):
    os.system('shutdown /s /t 0')
    def img():
    cap = cv2.VideoCapture(0)
    ret ,img = cap.read()
    filename = 'wechat.jpg'
    cv2.imwrite(filename,img)
    cap.release()
    itchat.send_image(filename,'filehelper')
    def main():
    itchat.auto_login(hotReload=True)
    itchat.run()
    if __name__=='__main__':
    main()
    --------------------- 

  • 相关阅读:
    面向对象设计原则之二:开放封闭原则
    面向对象设计原则之一:单一职责原则
    设计模式之四:适配器模式(Adapter Pattern)
    面向对象设计原则之六:合成/聚合复用原则
    设计模式之三:迭代器模式(IteratorPattern)
    面向对象设计原则之五:迪米特法则
    设计模式之二:观察者模式(Observer Pattern)
    五分钟搭建 Flash 视频直播站
    Flash Media Server 3 开发版供下载
    不掉线的路由器路由特殊技术分析
  • 原文地址:https://www.cnblogs.com/hyhy904/p/10995882.html
Copyright © 2020-2023  润新知