python远程屏幕控制_python控制远程设备

该博客介绍如何使用Python进行远程屏幕控制。通过socket实现两台电脑间的通信,利用pyautogui库来操控远程设备的键盘。文章详细列出了在Ubuntu、Mac OS和Windows上安装所需依赖的步骤,并提供了被控制端和控制端的代码示例。
摘要由CSDN通过智能技术生成

主要使用socket来进行两台电脑的通信,使用pyautogui包来控制键盘。

安装依赖

类Ubuntu

$ sudo apt-get install python3-pip

$ sudo pip3 install python3-xlib

$ sudo apt-get install scrot

$ sudo apt-get install python3-tk

$ sudo apt-get install python3-dev

MAC OS

$ sudo pip3 install pyobjc-framework-Quartz

$ sudo pip3 install pyobjc-core

$ sudo pip3 install pyobjc

$ sudo pip3 install pillow

Windows

pip3 install pyautogui

被控制端

import pyautogui

import time

from socket import socket, AF_INET, SOCK_STREAM, SOL_SOCKET, SO_REUSEADDR

tcp_server_socket = socket(AF_INET, SOCK_STREAM)

address = ('', 8000)

tcp_server_socket.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)

tcp_server_socket.bind(address)

tcp_server_socket.listen(128)

def handle_key(key):

key = key.decode()

if key == "alt":

print("按下alt键盘")

pyautogui.press("alt")

elif key == "enter":

time.sleep(5)

pyautogui.press("enter")

print("按下enter键盘")

elif key == "win":

print("按下窗口键")

pyautogui.hotkey("winleft")

else:

print("按下其它键")

time.sleep(5)

pyautogui.typewrite(key)

while True:

print("等待连接")

tcp_client_socket,addr = tcp_server_socket.accept()

print('...connected from', addr)

while True:

data = tcp_client_socket.recv(1024)

if not data:

break

try:

if data.decode().startswith('exit'):

break

except Exception as e:

print(e)

break

print(data)

handle_key(data)

tcp_client_socket.send('server recved.'.encode())

tcp_client_socket.close()

控制端

import socket

HOST = 'localhost'

PORT = 8000

BUFSIZE = 1024

ADDR=(HOST, PORT)

tcp_client=socket.socket(socket.AF_INET, socket.SOCK_STREAM)

tcp_client.connect(ADDR)

FLAG = True

while True:

data = input('>')

if not data:

break

tcp_client.send(data.encode())

data=tcp_client.recv(BUFSIZE)

if not data:

FLAG = False

break

print(data)

tcp_client.close()

作者:Baloneo

本系列课程为Python实战系列课程:使用微信控制电脑,使用Python的Web框架Flask搭建网页, 并使用网页控制电脑;使用wxPython编写图形化的程序,并进一步将这个程序发展为远程控制程序。 课程目录: |--|----|----1 微信远控:Python 控制电脑的两种方法 |--|----|----|----1 课程介绍.mp4 |--|----|----|----2 命令提示符 CMD 入门.mp4 |--|----|----|----3 Python 执行 CMD 命令.mp4 |--|----|----|----4 Python 调用 Win API.mp4 |--|----|----2 微信远控:让微信控制电脑 |--|----|----|----1 微信控制电脑原理.mp4 |--|----|----|----2 新浪邮箱的设定.mp4 |--|----|----|----3 Python 收发邮件.mp4 |--|----|----|----4 微信控制电脑的实现.mp4 |--|----|----|----5 沙盘化的微信远控.mp4 |--|----|----3 Flask 快速搭建网站 |--|----|----|----1 课程介绍.mp4 |--|----|----|----2 Flask 与 BootStrap 搭建网页.mp4 |--|----|----|----3 Flask 操作数据库.mp4 |--|----|----4 网页控制电脑 |--|----|----|----1 课程介绍.mp4 |--|----|----|----2 建立通信.mp4 |--|----|----|----3 轮询与推送.mp4 |--|----|----|----4 网页控制电脑.mp4 |--|----|----5 Python 图形程序入门 |--|----|----|----1 wxPython 介绍与安装.mp4 |--|----|----|----2 基本控件介绍与绝对布局.mp4 |--|----|----|----3 控件相对布局.mp4 |--|----|----|----4 多线程与事件.mp4 |--|----|----6 编写图形界面的远程控制程序 |--|----|----|----1 远程控制程序的需求分析.mp4 |--|----|----|----2 Socket 通信.mp4 |--|----|----|----3 受控端功能强化.mp4 |--|----|----|----4 远程控制软件的实现与测试.mp4 |--|----|----7 开发远程控制程序高级功能 |--|----|----|----1 高级功能概述.mp4 |--|----|----|----2 读写剪贴板.mp4 |--|----|----|----3 使用 Python 截图.mp4 |--|----|----|----4 Python 上传文件.mp4 |--|----|----|----5 结课总结.mp4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值