虽然用处不太大,但是闲着无聊就来写一下咯,过几天会贴上代码,现在先写下方法。
蛮简单的,就是几个注册表操作和替换一个远程桌面服务
首先关闭防火墙 net stop sharedaccess
我发现用这个命令关闭防火墙基本不会被拦截,包括杀软和系统都不会提示。
之后查找DcomLaunch, TermService服务的PID,管你用Tasklist/SVC
命令还是什么方法,找到这个PIE,直接NTSD掉。
之后把SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\KeepRASConnections改为1,注意这个1是字符的1,而不是整形1,也就是'1'
SYSTEM\CurrentControlSet\Control\Terminal Server\fDenyTSConnections 改为0
SYSTEM\CurrentControlSet\Control\Terminal Server\Licensing Core\EnableConcurrentSessions这个改为1,这个是int的
用RegOpenKeyExA打开SYSTEM\CurrentControlSet\Services\TermService\Parameters\
,获取句柄
之后创建新值ServiceDll,写入数据%SystemRoot%System32termsrvs.dll。(待会儿我们生成的地址
之后就是输出新的Termsrvs文件,文件地址是:Termsrvs.rar 我们可以使用下载的方式获取而不用附带带程序里,不过也没什么关系,反正这个文件也不会很大
之后就是注册这个文件:Attrib +H +S +R %SystemRoot%\System32\termsrvs.dll
注册之后可能会自动关机,所以取消关机:CMD /C shutdown -a
之后开启服务
net start dcomlaunch
net start termservice。
这下就Ok了,两个远程桌面连接XP系统的时候就不会被挤掉了