参考文章:
1.Windows多用户远程桌面----采用RDP Wrapper Library支持所有的Windows版本

2.Win10家庭版实现远程桌面 RDPWraper -解决not supported ,not listening问题

3.Windows10 家庭版(1903/1909)中用RDPWrapper-v1.6.2和autoupdate补丁开启远程桌面功能

如果我没有猜错的话,RDPWrapper将核心功能模块实现放在了rdpwrap.dll中,也就是软件原理里面提到了那一层(管道),采用Hook技术,通过加载配置文件rdpwrap.ini,Hook了termsrv.dll,从而实现其提到的:RDPWrapper 不修改termsrv.dll,它用不同的参数加载termsrv.dll,以及我前面提到的,软件拆分,将核心模块和配置文件拆分独立,通过修改配置文件rdpwrap.ini,就可以让软件支持最新版本的Windows。这涉及到汇编,Hook技术,Dll技术,我就不展开讲了。

所以,目前最重要的就是配置文件,其他的东西对我们不重要,我们来看看这段:

[10.0.17763.1-SLInit]             RDPWrapper能支持的termsrv.dll版本号
bInitialized.x86      =CD798      X86这是针对32位系统的配置
bServerSku.x86        =CD79C
lMaxUserSessions.x86  =CD7A0
bAppServerAllowed.x86 =CD7A8
bRemoteConnAllowed.x86=CD7AC
bMultimonAllowed.x86  =CD7B0
ulMaxDebugSessions.x86=CD7B4
bFUSEnabled.x86       =CD7B8
 
bInitialized.x64      =ECAB0      x64这是针对64位系统的配置
bServerSku.x64        =ECAB4
lMaxUserSessions.x64  =ECAB8
bAppServerAllowed.x64 =ECAC0
bRemoteConnAllowed.x64=ECAC4
bMultimonAllowed.x64  =ECAC8
ulMaxDebugSessions.x64=ECACC
bFUSEnabled.x64       =ECAD0

是不是明白了?RDPWrapper支持哪些Windows版本的termsrv.dll(就是下面图片中那个讨厌的不支持not supported),就是看配置文件里面有没有类似上面这段代码,所以,问题清楚了,RDPWrapper不支持最新的Windows10 1909版本怎么办?上RDPWrapper的GitHub去Issue里面找,找到别人提供的和上面类似的配置代码或者配置文件,将它复制添加到我们自己计算机上面对应的配置文件rdpwrap.ini或者直接替换掉我们自己计算机里面的配置文件rdpwrap.ini,再重新执行一次 install.bat

  1. 下载解压,地址https://github.com/stascorp/rdpwrap,好像已经不再更新,只在issues里更新ini文件
  2. 执行 install.bat,会在C:\Program Files\RDP Wrapper下面生成2个文件:rdpwrap.dll(核心模块),rdpwrap.ini(配置文件),没错,这就是我们要修改的配置文件
  3. 执行RDPWrapper软件中自带的RDPConf.exe软件直接检测,如果显示全绿,那么恭喜你,RDPWrapper支持你当前计算机的termsrv.dll版本,如果显示不支持not supported,那就说明当前配置文件不支持这个版本的termsrv.dll,本人这里显示不支持

android RD远程工具_bash


4. 如若检测结果为not support,查看自己的电脑操作系统版本是什么,然后去GitHub上找,链接,相信会找到对应的配置,添加到位于C:\Program Files\RDP Wrapper\rdpwrap.ini下面rdpwrap.ini配置文件中1.公司电脑操作系统版本:18363.1316

android RD远程工具_windows_02

  1. 在gitHub上找到的rdpwrap.ini如下,追加到rdpwrap.ini文件中,就可以支持系统了
    解决不是[fully supported] ,显示[no supported]
    notepad C:\Program Files\RDP Wrapper\rdpwrap.ini
    这一步作用是以管理员身份编辑这个ini文件。(直接打开无法保存)
[10.0.18362.1316]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = B67C6
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 83075
LocalOnlyCode.x64 = jmpshort
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 35735
SingleUserCode.x86
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 0DC4C
SingleUserCode.x64 =零
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 4D679
DefPolicyCode.x86 = CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 1FE65
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1
SLInitOffset.x86 = 5C18A
SLInitFunc.x86 = New_CSLQuery_Initialize
SLInitHook.x64 = 1
SLInitOffset.x64 = 22E9C
SLInitFunc.x64 = New_CSLQuery_Initialize

[10.0.18362.1316-SLInit]
bInitialized.x86 = D377C
bServerSku.x86 = D3780
lMaxUserSessions.x86 = D3784
bAppServerAllowed.x86 = D378C
bRemoteConnAllowed.x86 = D3790
bMultimonAllowed.x86 = D3794
ulMaxDebugSessions.x86 = D3798
bFUSEnabled.x86 = D379C

bInitialized.x64 = F6A8C
bServerSku.x64 = F6A90
lMaxUserSessions.x64 = F6A94
bAppServerAllowed.x64 = F6A9C
bRemoteConnAllowed.x64 = F6AA0
bMultimonAllowed.x64 = F6AA4
ulMaxDebugSessions.x64 = F6AA8
bFUSEnabled.x64 = F6AAC

家里电脑

android RD远程工具_windows_03