# computercontroll **Repository Path**: mjlfto/computercontroll ## Basic Information - **Project Name**: computercontroll - **Description**: 一个自定义的电脑控制程序 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2020-03-07 - **Last Updated**: 2021-06-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 远程过程调用使用thrift实现输出传输 使用Robot实现鼠标键盘事件的模拟 通过鼠标移除屏幕实现切屏功能 需要注意的是, 1.0.0版本只能实现两台电脑向后控制,而且没有实现断链重试, 也不支持文件传输,也不支持终端控制 再后续的迭代中陆续实现,而且现在这个版本效率还相对较低 原理: 服务端很简单,就是启动一个thrift服务,然后等待客户端发送指定过来,让后使用robot模拟事件,就这么简单 客户端相对麻烦些: 1.客户端首先需要判断当前操作的是自己还是服务端屏幕 判断依旧是当前鼠标的指针位置,如果鼠标指针位置移动到屏幕右边边界外,那么就进入到控制服务端屏幕 于此同时如果鼠标指针移动屏幕左边边界外,那么回到客户端屏幕 2. 客户端怎么实现捕获鼠标键盘事件 在控制自己的时候,程序界面放到右上角,界面最小化,这样该做什么做什么 在控制服务端屏幕的时候,这是最麻烦的 怎么控制捕获鼠标键盘事件,同时自己的电脑没有想要,而且还不影响自己屏幕的显示,总不能显示一个大的空白屏幕吧 其实就是显示一个大空白屏幕,只是将这个屏幕设置为透明的,其实半透明的,这样不会影响自己的显示,还能捕获到鼠标键盘事件 但是需要注意的是,完全透明是没有办法捕获到界面上的事件的,这样操作的还是自己的屏幕 3.怎么实现再控制服务端屏幕的时候自己的鼠标不动 这个其实是做不到的,我们也是通过自己鼠标的为而实现相对再远程控制鼠标移动的,如果自己的鼠标不让动,那就没有办法实现服务端鼠标移动 其实这个问题很简单,再控制服务端屏幕的时候,将自己的鼠标设置为透明的就可以了,这样就实现了像是完全在控制服务端屏幕包括鼠标都是由自己的屏幕移动过去