RDP Wrapper Library:在 Windows 家庭版上实现多用户远程桌面的开源库
【免费下载链接】rdpwrapRDP Wrapper Library项目地址: https://gitcode.com/gh_mirrors/rd/rdpwrap
RDP Wrapper Library 是一个采用 Apache 2.0 许可的开源项目,它为 Windows Vista 至 Windows 10 的各版本系统开启远程桌面主机能力,并支持多个用户会话同时在线。适合个人、家庭办公和小型团队在不升级系统版本的前提下扩展远程协作场景。
为什么需要它
先看三个很具体的场景:
- 家庭版没有"被连接"入口:Windows 家庭版(Home)默认不提供远程桌面主机功能,想让别人从外面连进这台机器,只能换系统版本或购买授权。
- 一个人同时占着两个地方:你在电脑前操作的同时,希望另一个设备也能远程登录同一账号查看或接管,但默认策略只允许单一会话。
- 多人共用一台机器排队进:几个成员都想同时连到一台共享 PC,而系统默认会让新连接顶掉旧会话,无法并行。
这类需求如果直接改系统文件,既容易出错,也经不起系统更新。RDP Wrapper 的思路是不动原始文件,只在中间加一层"包装"。
工作原理:不改系统文件的"中间层"
用白话讲,它的工作方式可以分成三步:
- 插入中间层:安装后会在系统服务控制管理器与终端服务(TermService)之间加载一个名为
rdpwrap.dll的包装组件。 - 改写策略返回值:终端服务启动时原本会读取系统授权策略,包装层会拦截这些查询,把"是否允许远程连接""是否允许多会话""是否允许多显示器"等开关按预期回答,从而在不直接修改
termsrv.dll的前提下扩展连接能力。 - 用配置文件驱动适配:每个 Windows 构建号对应的偏移量和修正数据都存放在
res/rdpwrap.ini中。新版本系统出现后,维护者只需更新这个 INI 文件,不必重新编译二进制。
这个设计带来两个实际好处:卸载时可以干净地移除,恢复原状;系统更新造成的影响相对有限,多数情况下重新刷新 INI 即可恢复支持。
核心能力一览
连接体验
- 多用户并发会话,实测上限约 15 个,实际数量取决于硬件与系统版本
- 同一用户可同时在本地控制台和远程会话登录
- 远程端支持完整的多显示器布局
- 会话"影子"跟随:Windows 7 及更早版本可用任务管理器接管他人会话,Windows 8 及以后可直接用远程桌面客户端连接
- 打印机重定向、即插即用设备重定向等常用重定向能力一并放开
安装与部署
- 安装/卸载程序
RDPWInst支持无人值守部署,方便批量环境使用 - 1.6.1 版起提供在线安装模式:首次安装时自动拉取最新的 INI 配置
- 发布包附带
install.bat、uninstall.bat、update.bat三个批处理,操作门槛低
配置维护
RDPConf图形界面可实时查看监听状态、确认当前构建是否受支持,并调整会话策略RDPCheck是一个极简的本地回环测试工具,用于快速验证连接是否打通;需要自定义分辨率等参数时,请改用系统自带的远程桌面客户端(mstsc),本机可用127.0.0.1或127.0.0.2做回环地址- 支持列表完整记录在
technical.txt中,按termsrv.dll的构建号逐一列出
快速上手
四步完成首次使用:
- 获取源码:执行
git clone https://gitcode.com/gh_mirrors/rd/rdpwrap - 以管理员身份运行安装脚本:在项目目录中右键
install.bat,选择"以管理员身份运行",等待批处理输出安装结果 - 确认状态:运行
RDPConf.exe,查看服务监听状态与当前系统的支持标记是否正常 - 发起连接:用远程桌面客户端输入目标地址连接;本地验证可用
127.0.0.1回环方式
提示:默认情况下安装程序会联网拉取最新 INI,这是正常行为;若机器无法联网,可从
install.bat中移除-o参数改为离线安装。
配置要点与避坑清单
| 场景 | 处理方式 |
|---|---|
| 权限不足 | 所有安装、更新、卸载脚本都要求管理员权限,普通运行会失败 |
| 界面显示 [not supported] | 先确认网络可用,再以管理员身份运行update.bat刷新 INI |
| 更新后仍不受支持 | 核对technical.txt中是否有你的termsrv.dll构建号;没有说明该构建尚未适配 |
| 杀毒软件拦截或误删 | 从官方渠道获取文件,并将rdpwrap.dll加入杀毒排除项 |
| 终端服务启动卡住或拒绝访问 | 将rdpwrap.dll加入排除列表;必要时执行sc config TermService type= own把服务与其他共享服务隔离 |
| Windows 10 家庭版 Creators Update 后监听失效 | 该更新可能缺失rfxvmt.dll,需要按项目 issue 区的指引补齐该文件 |
其他建议:
- 保持
termsrv.dll为原始状态。若此前用过其他补丁工具改动过它,建议先还原,否则随时可能出现崩溃。 - 在 Windows 10 上开启远程前,确认自己还有第二种途径能回到机器前,避免被锁在外面。
- 安全侧请自行兜底:强密码、网络级认证(NLA)保持开启、防火墙限制可访问的 IP 段。
适用范围与边界
受支持的系统(按项目确认列表):
- Windows Vista 全系列(Starter 需 SP1 及以上)
- Windows 7 全系列、Windows 8 / 8.1 全系列(含单语言版)
- Windows 10 Home / Pro / Enterprise,适配构建号直至 10.0.17763.1
- Windows Server 2008 / 2008 R2 / 2012 / 2012 R2,以及 2016 技术预览版
明确不支持:Windows 2000、XP、Server 2003。
边界与限制:
- 是否可用取决于
termsrv.dll的构建号是否已写入 INI,系统大版本更新后需要重新确认支持状态 - 开启了 RemoteFX 的主机与其不兼容
- Windows 8 起的平板 PC 上,空闲会话可能被系统自动注销
- 并发数受硬件与系统版本约束,约 15 个是经验上限而非保证值
- 项目 FAQ 中提到"是否合法使用没有定论",企业环境使用前请自行评估合规性
适合谁,不适合谁
适合:
- 想在家庭版或旧系统上免费获得被远程连接能力的个人用户
- 需要同一账号本地+远程双在线的运维、教学、技术支持人员
- 希望多台客户端并行操作一台共享机器的家庭和小团队
不适合:
- 运行在 Windows 2000 / XP / Server 2003 上的机器
- 对高可用、SLA 有生产级要求的业务系统——本项目以个人使用场景为设计目标
- 无法接受"系统更新后可能需要重新刷新配置"这类维护成本的用户
源码完整开放,x86 Delphi 版本位于src-x86-binarymaster,x86/x64 C++ 版本位于src-x86-x64-Fusix,有兴趣可以自行编译验证其行为。
【免费下载链接】rdpwrapRDP Wrapper Library项目地址: https://gitcode.com/gh_mirrors/rd/rdpwrap
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考