本帖最后由 ShareBit 于 2022-10-28 11:11 编辑
我最近实现了一套远程桌面软件,大家可以自行下载并测试。下载地址和说明在 http://www.qqsdk.com/towin/index.html
大致的功能包括:IP+端口方式或者P2P账号方式连接; 文本/文件双向拷贝(ctrl + c)与复制(ctrl + v); 中文输入法直接透明作用于被控制端;被控制端声音输出直接输出到客户端;服务开机自启动,能胜任无人值守应用;具有较高的刷新率和较低的带宽占用;支持从windows xp开始的所有windows系统,包括PE系统。
2020.09.18
改修rmtserver.exe和install.exe,支持了用户可以自行设定内部截屏间隔时间,从而可以降低rmtserver.exe的CPU占用和带宽占用或者特殊应用场景下增加截屏帧率。如果最小间隔和最长间隔都设置为1,那么CPU占用最高,截屏帧率也会达到最高。
2020.09.19
修改rmtclient.exe, rmtclient.exe的显示不再受到自身电脑的DPI设置的影响,真正做到了rmtserver.exe端是什么样子,rmtclient.exe端就显示成什么样子。
修改rmtserver.exe, VP8编码的效果比之前好了很多。
修改rmtserver.exe和install.exe, 支持最小间隔设置为0,如果最大间隔也设置为0,那么CPU占用最高,截屏帧率也达到最高(之前使用间隔1感觉不符合常规思维)。同时让VP8编码支持了多线程编码。
2020.09.20
修改rmtserver.exe, rmtclient.exe, 修改了之前版本下某些场景下某些按键按下而没弹起的错误,并同时支持了在被控制端使用几乎所有的系统组合按键。
如果启用了"远程使用本机中文输入法"(rmtclient.exe端默认是启用了的),可能存在特殊场景下被控制端输入不对或者无响应的情况,那么试着不启用这个功能。
2020.09.21
修改rmtserver.exe和rmtclient.exe,实现控制端在开始连接后把被控制端的键盘状态同步到控制端的键盘上来。
2020.09.29
修改rmtserver.exe和rmtclient.exe,实现截图双向拷贝粘贴,现在内部设置为支持的截图和文本最大为4MB字节少1024字节(也就是4193280字节)。
2020.10.09
修改rmtserver.exe,解决某些环境下界面没快速更新的问题,以及某些环境下rmtserver.exe服务进程异常退出问题。
2020.10.10
修改rmtserver.exe,解决控制端退出的时候导致rmtserver.exe异常退出的问题。
修改rmtclient.exe,在没有第一帧图像出来的情况下也允许用户点击鼠标和键盘操作,同时被控制端中途断开也会显示在标题栏上。
2020.10.30
修改rmtserver.exe,解决某些情况下文本/图片需要粘贴两次才能粘贴成功的问题。
修改rmtclient.exe,增加鼠标在远程桌面显示区域之外时,键盘操作不发送到被控制端,而是作为本机按键处理,也就是说按在远程桌面显示区域之外的热键可以唤起客户端电脑自身的系统热键,同时这样也就再次激活了用热键 ctrl + shift + F1 可以打开我们客户端自身的"使用本机输入法发送文字"这个输入框。
2020.11.05
修改rmtserver.exe和rmtclient.exe,做了一点点优化。
2020.11.17
修改rmtserver.exe,以前版本的鼠标双击事件处理存在缺陷。
2021.01.05
修改rmtclient.exe,在标题栏输出了是直连模式还是中转模式。
2021.05.16
修改rmtclient.exe, 配置文件做了改动,支持主界面标题栏显示用户设定的被控端名称,从而方便的从主界面上看出操作的是那一个被控端。rmtclient.exe现在也支持后面带参数的方式,支持的参数如下:
-localport:同之前配置文件里面的localport
-lossless:同之前配置文件里面的lossless
-winzoomout:同之前配置文件里面的winzoomout
-localkey:同之前配置文件里面的localkey
-comment:在客户端主界面的左上标题栏显示被控端的识别名称
-p2pname:同之前配置文件里面的p2pname
-dnsname:同之前配置文件里面的dnsname
-port:同之前配置文件里面的port
不是所有的参数都必须设置,比如说
rmtclient.exe -dnsname:www.sina.com.cn -port:5191 这个就代表访问域名为www.sina.com.cn 端口为5191的被控端
这个命令行既可以使用批处理方式,也可以使用rmtclient.exe建立快捷方式,在快捷方式文件上,鼠标右键,选择"属性",修改"目标"为 rmtclient.exe -dnsname:www.sina.com.cn -port:5191
使用批处理方式大体是这样的:在rmtclient目录下建立一个批处理文件,我们假设为 logins.bat,里面的内容大致如下:
@echo off
start "" "rmtclient.exe" "-dnsname:192.168.2.3" "-port:5191" "-comment:winxp"
start "" "rmtclient.exe" "-dnsname:192.168.2.4" "-port:5191" "-comment:win10"
exit
这样就可以实现点击一次这个批处理文件,就可以弹出对应的多个登录界面,从而实现一次性去登录多个被控端
2021.05.19
修改rmtserver.exe和rmtclient.exe,内部用到的一些开源库更新到了最新版本。
2021.05.21
修改rmtclient.exe, 增加一个命令行参数
-hideloginwindow:1
如果有这个命令行参数,则不显示登录窗口,直接用登录信息登录,成功直接显示主界面,失败显示登录窗口。注意:这个参数只支持命令行方式,而没有对应的rmtclient.ini配置方式,所以要实现隐藏登录窗口,就只有使用批处理或者快捷方式了。
2021.06.04
修改rmtclient.exe, 增加一个命令行参数
-disablelocalcnime:1
如果后面是1,则禁用本机中文输入法透明传输到被控制端
rmtclient.ini 里面的disablelocalcnime字段是同一功能
2021.06.18
修改rmtclient.exe,断开文字能正确显示到软件标题栏。
2021.06.24
修改rmtserver.exe和rmtclient.exe, 实现在H264编码下,客户端左上角菜单切换到"无损压缩,更清晰"选项时,实现真正意义的无损压缩编码,特别注意:这会导致编码数据非常大,只适合局域网或者带宽较大的公网环境。
2022.09.03
修改rmtserver.exe,以前版本存在客户端断开后,系统子进程也会主动退出的错误(这本不必要也不应该)。
2022.09.04
修改rmtserver.exe,以前版本存在不断切换登录和注销登录的情况下,会导致无法截屏的问题(白板或者图像死掉),这次彻底解决了这个问题。
2022.10.26
修改rmtserver.exe和rmtclient.exe,由于更换了p2p服务器,之前的虽然也还能正常使用,但连接会慢接近20秒,这次修改就是把默认的p2p服务器改为现在的p2p服务器ip。
2022.10.27
修改rmtserver.exe, 解决发送ctrl-alt-del键在某些被控端为x64的系统尤其是一些精简x64系统下不生效的问题。
2022.10.28
修改 install.exe, 由于公网服务器ip改变,之前的无法申请p2p账号。
|