百因必有果,远程监控就找我(python)

所谓,在我们可以实现任何要求之前,我们需要分析和找出一种思维方式。计算机的远程控制不仅仅是接收远程命令并根据命令执行相应的操作。然后,在微信的帮助下,利用我们的

itchat库之一来实现上述的远程控制计算机,我们希望完成这些要求,首先对任务进行细分,首先接收消息指令,然后根据相应的指令进行相应的操作,其中我们需要考虑其中一个问题是mistuch问题。

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

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

pip install itchat 

引入第三方库

importitchat 

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

def main():
 pass
if __name__=='__main__':
 main() 

让微信运行

import itchat
def main():

 # 登录微信 避免重复扫码 热加载
 itchat.auto_login(hotReload=True)
 # 微信运行起来
 itchat.run()
if __name__=='__main__':
 main()

接收微信消息,获得指令,执行操作

import os
@itchat.msg_register('Text')
def main(msg):
 message = msg['Text']
 if message == '关机':
  os.system('shutdown /s /t 0')

大概思路已经得知,接下来我们应该做更多优化,比如解决误触等问题

完整代码如下:


一个莫名其妙的python群:766545907
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():
 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()

以上就是本文的全部内容,希望对大家的学习有所帮助,大家可以试试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中可以使用第三方库来实现远程监控电脑屏幕的功能,其中最常用的是`PIL`(Python Imaging Library)和`paramiko`(一个用于SSH连接的Python库)。以下是一个基本的步骤: 1. **安装必要的库**:首先,你需要安装`PIL`(如果还没有安装)和`paramiko`库,可以使用pip命令: ``` pip install pillow paramiko ``` 2. **设置SSH连接**:如果要从远程服务器访问,需要确保目标电脑开启了SSH服务,并且你可以通过用户名和密码或者密钥对成功登录。 3. **获取屏幕截图**:使用`paramiko`库创建一个SSH客户端,然后调用`invoke_shell()`方法获取一个shell会话。接着,你可以通过发送特定的命令(如`import os; os.system('import mss; sct = mss.mss(); img = sct.grab(sct.monitors)')`),利用`mss`库来截取屏幕截图。 4. **接收和保存截图**:在本地服务器上,创建一个文件接收来自远程服务器的截图数据,通常是一个字节流。然后,将接收到的数据写入文件,例如: ```python ssh.exec_command('import os; import io; img_data = io.BytesIO(); os.system("your_screenshot_command_here"); img_data.seek(0);', get_pty=True) local_file = open("received_screenshot.png", "wb") local_file.write(img_data.read()) local_file.close() ``` 5. **定期执行**:如果你想定期监控,可以将上述代码封装到一个定时任务或者循环中运行。 注意:这只是一个基础示例,实际操作可能需要处理更多的网络异常、权限问题以及安全考虑。另外,由于跨设备权限限制,这个方法并不适用于所有情况,比如在没有root权限的用户账户下。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值