大佬教你用 Python 手把手实现远程控制桌面

通过远控桌面可以实现远程控制我们的电脑,更好更方便的管理电脑。文末将给出初始版的完整代码,需要使用到的其他工具也会有所说明。最终实现的效果就是只要用户点击了客户端的程序运行,我们就可以在服务端对其进行控制。效果如下:左边是客服端程序运行了,然后我们就可以在左边的另一台电脑上打开服务端程序进行控制,可以看到左边的屏幕图像也已经显示在了右边的电脑上。完整代码见文末!

 

远控流程

 环境要求

本次环境使用的是python3.6.5+windows平台

主要用的库有:图像处理库opencv,包括用来目标检测和图像处理等操作。

Socket用来远程传输数据达到远程控制的效果;

Threading模块用来创建多线程管理;

Numpy模块用来辅助opencv对图像进行一些像素值操作;

PIL模块用来获取屏幕图像数据;

pynput.mouse用来控制鼠标点击事件。达到远程控制鼠标的作用。

 客户端讲解

客户端在这里指的是被控制的电脑,就是我们需要受到控制的电脑。

(1)首先是导入相关模块:

大佬教你用 Python 手把手实现远程控制桌面_第1张图片

2)接着创建一个鼠标控制器和用来接收服务端数据的函数。因为需要一直都接收数据,故需要嵌入循环。在这里客户端还需要接收数据的原因是,用来接收服务端传来的鼠标控制信息,要不然怎么实现鼠标控制桌面的效果呢。

大佬教你用 Python 手把手实现远程控制桌面_第2张图片

(3)创建ipv4的socket对象,使用TCP协议(SOCK_STREAM)。然后设置服务端IP地址,以及端口。这里用来向服务端传输数据,即传输桌面图像数据。注释代码如下:

大佬教你用 Python 手把手实现远程控制桌面_第3张图片

服务端讲解

服务端指的是用来控制远程电脑的那一端,为了方便使用,我们直接在服务器上使用即可。

(1)导入使用到的模块:

大佬教你用 Python 手把手实现远程控制桌面_第4张图片

创建鼠标点击事件函数,用来获取鼠标点击的位置坐标

大佬教你用 Python 手把手实现远程控制桌面_第5张图片

(3)创建服务器端接收数据函数,用来实时接收传输过来的图像数据并显示:

大佬教你用 Python 手把手实现远程控制桌面_第6张图片

远程控制GUI窗口

 

大佬教你用 Python 手把手实现远程控制桌面_第7张图片

远控桌面GUI主要是为了美观而用,需要大家根据远程代码进行集合修改。当然单独使用上述代码已经可以实现功能了,只是不够美观。由于考虑到此处代码量较大,且不是重点,故粗略讲解

(1)导入相关库:


(2)建立鼠标控制函数和点击函数


(3)GUI界面初始化,由于我们需要把实时的视频显示在窗口上,故也需要使用到opencv。


(4)设置窗口大小和控件位置等信息。创建布局和设置名称


(5)获取鼠标点击时的坐标:


(6)按钮绑定所设置的函数:


(7)显示桌面功能函数,并设置点击时修改名称,可以随时关闭桌面


(8)显示桌面函数和退出程序函数


需要相关python资料的可以添加微信  ssmp8858  备注【999】

你可能感兴趣的:(java,php,python,c语言,golang)