2007年6月30日

几个常用技巧

收集整理了几个电脑常用技巧——

自动释放系统资源
  在Windows中每运行一个程序,系统资源就会减少。有的程序会消耗大量的系统资源,即使把程序关闭,在内存中还是有一些没用的DLL文件在运行,这样就使得系统的运行速度下降。不过我们可以通过修改注册表键值的方法,使关闭软件后自动清除内存中没用的DLL文件及时收回消耗的系统资源。打开注册表编辑器,找到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer”主键,在右边窗口单击右键,新建一个名为“AlwaysUnloadDll”的“字符串值”,然后将“AlwaysUnloadDll”的键值修改为“1”,退出注册表重新启动机器即可达到目的。


在Windows XP中运行DOS程序  
  可以采用start命令来运行。在Windows XP的命令提示符中输入:start/seperate要运行的程序,即可运行相应的DOS程序。其中参数separate的作用是在单独的内存空间启动16位程序,而用参数shared则是在共享的内存空间启动16位程序。当DOS程序运行后我们还可按“Alt+Enter”键在全屏幕与窗口之间进行切换。



双系统共用虚拟内存
  虚拟内存的设置,不能不涉及到页面文件。所谓页面文件,它的功能是将一部分硬盘空间设置为虚拟内存,从而扩大了可用“内存”空间,以此来满足程序的运行要求。Win9x通常是利用安装目录中的Win386.swp这个交换文件来实现虚拟内存的创建,WinNT则是利用Pagefile.sys来实现这一功能的。既然它们都是功能一样的文件,为了方便和节约空间让其共享是可行的。

  相关的Windows系统非常简单,比如Win98和WinMe,WinNT和Win2000,WinNT和WinXP只要将它们的路径设置成相同的即可。具体方法为:依次点击“开始→设置→控制面板→系统→性能→虚拟内存”,选中“用户自己指定虚拟内存设置”,将“硬盘”路径指定为空间大的分区如“C:\2500MB可用”,并且将最大值和最小值设为相同即可。需要说明的是在第二个系统中设定时,最好删掉上一个系统的相同文件。

  不相关的Windows系统共享的前提条件是:首先需要保证有相同的文件系统(Win9x/Me不识别NTFS分区),其次这两个文件的大小必须设定一致,也就是说它们的最大值和最小值必须相同,最后这两个文件的位置应在同一个分区的同一个目录下。

  我们可以有两种方法来共享虚拟内存文件:

  1.共享WinNT的Pagefile.sys
  启动Win98/Me系统,单击“开始→运行”,键入“systm.ini”,在[386enh]下做如下修改:"pagingDrive=c:\pagefile.sys" (位置由自己设定)

  "minpaging file size=x"(如果虚拟内存为192MB,则x=192×1024=196608,推荐设为物理内存的2.5倍)

  接下来重新启动计算机,删掉“win386.swp”文件,不能删除表明设置失败。

  2.共享Win98/Me的win386.swp
  进入Win2000/XP,单击“开始→运行”,输入“regedit”,打开注册表,然后通过“查找”功能,查找关于“filepage.sys”的所有项,然后将所有的“filepage.sys”都更改为“win386.swp”。

  相关键为:

  [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SessionManager\Memory Management]
  [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\BackupRestore\FilesNotToBackup]

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Session Manager\Memory Management]
  [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Control\BackupRestore\FilesNotToBackup]
  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToBackup]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]

  最后重新启动计算机,然后删掉“pagefile.sys”就可以了。



限制驱动器的使用
  如果我们不想让别人使用我们的驱动器,如系统盘C盘,光驱等,可以进行如下操作:

  1.在开始菜单的“运行”对话框中,输入“gpedit.msc”,打开“组策略”设置窗口。

  2.在“组策略”设置窗口中,依次打开 “本地计算机策略→用户配置→管理模板→Windows组件→Windows资源管理器”选项。

  3.在右边的设置窗口中,选择“防止从‘我的电脑’访问驱动器”项,在这个选项单击鼠标右键,选择“属性”,接着出现“防止从‘我的电脑’访问驱动器的属性”设置窗口。在其中有三个选项,分别是“未配置”、“已启用”、“已禁用”

  4.我们选择“已启用”后,在下面就会出现选择驱动器的下沉列表,如果希望限制某个驱动器的使用,只要选中该驱动器就可以了。比如,我们要限制C盘的使用,选中“仅限制驱动器C”,就可以了。如果希望关闭所有的驱动器,包括光驱等,可以选中“限制所有驱动器”。

  设置完毕以后,当再打开驱动器时,就会弹出禁止打开驱动器的提示框(图2)。即便是使用DIR命令、运行对话框和镜像网络驱动器对话框,也无法查看驱动器的目录。



如何找到自启动程序
  如果系统启动时自动加载的程序过多,会造成启动速度缓慢,而很多病毒或者木马也是在系统启动时自动加载的。所以了解怎样在Windows中查找自启动程序是非常重要的。

  一、在“启动”文件夹中寻找
  “启动”文件夹一般位于“系统盘符\Documents and Settings\用户名\开始菜单\程序\启动\”目录(Win 2000/XP)或“系统盘符\WINDOWS\Start Menu\Programs\启动\”目录。通过快捷方式的属性可以查出程序所在的位置。

  二、从自动批处理文件中寻找
  在Win 98中,Autoexec.bat和Winstart.bat文件中的程序在开机时自动执行;而在Win Me/2000/XP/2003中,这两个批处理文件默认不被执行。

  三、从系统配置文件中寻找
  在有些系统配置文件中也可以找到自启动程序的踪迹,如Config.sys、Win.ini、System.ini、Wininit.ini和Msdos.sys等。

  四、通过“系统配置实用程序”寻找
  在“开始→运行”中键入“msconfig.exe”启动“系统配置实用程序”,进入“启动”选项卡,即可查看随系统启动的程序名称和位置。
  注意:Win 2000本身没有Msconfig程序,可以从Win XP/2003中提取。

  五、从计划任务中寻找
  在“控制面板”中双击“任务计划”就可以查看是否有计划任务随系统一起启动。

  六、使用“系统信息”寻找
  进入“系统信息”主界面,依次展开分支“软件环境→启动程序”,就可以在右窗格中查看自启动程序名称和位置。

  七、使用“组策略”寻找
  在Win 2000/XP/2003中,在“开始→运行”中键入“gpedit.msc”,打开“组策略”,依次展开“用户配置→管理模板→系统→登录/注销”,双击“在用户登录时运行这些程序”,单击“显示”按钮,即可查看自启动程序。

  八、通过注册表寻找
  在注册表中,可以从下列键值中查找自启动程序的名称和位置。
  1.Userinit键
  位于“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit”。这个键允许指定用逗号分隔的多个程序。
  2.Explorer\Run键
  位于“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run”和“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run”。
  3.RunServicesOnce键
  RunServicesOnce键用来启动服务程序,在用户登录之前启动,具体位置是“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce”和“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce”。
  4.RunServices键
  RunServices键指定的程序在RunServicesOnce指定的程序之后运行,不过仍在用户登录之前。具体位置是:“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices”和“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ CurrentVersion\RunServices”。
  5.Run键
  Run是自动运行程序最常用的键,位置在“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run”和“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”。
  6.Load键
  位于“HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows\load”。
  另外还有RunOnce、RunOnce\Setup等键。

  九、使用工具软件
  除了使用系统提供的工具以外,我们还可以求助于第三方工具软件。



如何关闭Dr.Watson
  Dr.Watson是Win 2000的一个崩溃分析工具,它会在应用程序崩溃的时候自动弹出,并且在默认情况下,它会将与出错有关的内存存为DUMP文件以供程序员分析。   

  不过我们作为普通用户,记录DUMP文件不但毫无用处,而且还有两个极大的缺点:   
  
  1.崩溃的瞬间,会有一个对话框弹出,告知应用程序出错将被关闭。这时,一般伴随有巨型的读盘现象,要过很久程序才能关闭。这是因为Dr.Watson在做内存DUMP。

  2.占用大量磁盘空间。有时DUMP下来的这些文件会占用大量的磁盘空间。  

  实际上DRWTSN32是WIN2000默认的出错调试器,如果我们根本不想用它的话,打开注册表编辑器,进入主键[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug],然后将“AUTO”键值设置为0。



如何使用Tasklist命令
  Tasklist命令用来显示运行在本地或远程计算机上的所有进程,带有多个执行参数。

  使用格式
  Tasklist [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]

  参数含义
  /S system 指定连接到的远程系统。

  /U [domain\]user 指定使用哪个用户执行这个命令。

  /P [password] 为指定的用户指定密码。

  /M [module] 列出调用指定的DLL模块的所有进程。如果没有指定模块名,显示每个进程加载的所有模块。

  /SVC 显示每个进程中的服务。

  /V 显示详细信息。

  /FI filter 显示一系列符合筛选器指定的进程。

  /FO format 指定输出格式,有效值:TABLE、LIST、CSV。

  /NH 指定输出中不显示栏目标题。只对TABLE和CSV格式有效。

  应用实例。
  1.查看本机进程
  在“命令提示符”中输入Tasklist命令即可显示本机的所有进程(图1)。本机的显示结果由5部分组成:图像名(进程名)、PID、会话名、会话#和内存使用。

  2.查看远程系统的进程
  在命令提示符下输入“Tasklist /s 218.22.123.26 /u jtdd /p 12345678”(不包括引号)即可查看到IP地址为218.22.123.26的远程系统的进程(图2)。其中/s参数后的“218.22.123.26”指要查看的远程系统的IP地址,/u后的“jtdd”指Tasklist命令使用的用户账号,它必须是远程系统上的一个合法账号,/p后的“12345678”指jtdd账号的密码。
  注意:使用Tasklist命令查看远程系统的进程时,需要远程机器的RPC服务的支持,否则,该命令不能正常使用。

  3.查看系统进程提供的服务
  Tasklist命令不但可以查看系统进程,而且还可以查看每个进程提供的服务。如查看本机进程SVCHOST.EXE提供的服务,在命令提示符下输入“Tasklist /svc”命令即可(图3)。你会惊奇地发现,有4个SVCHOST.EXE进程,而总共有二十几项服务使用这个进程。
  对于远程系统来说,查看系统服务也很简单,使用“Tasklist /s 218.22.123.26 /u jtdd /p 12345678 /svc”命令,就可以查看IP地址为218.22.123.26的远程系统进程所提供的服务。

  4.查看调用DLL模块文件的进程列表
  要查看本地系统中哪些进程调用了shell32.dll模块文件,只需在命令提示符下输入“Tasklist /m shell32.dll”即可显示这些进程的列表。

  5.使用筛选器查找指定的进程
  在命令提示符下输入“TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running”,就可以列出系统中正在运行的非SYSTEM状态的所有进程。其中“/FI”为筛选器参数,“ne”和“eq”为关系运算符“不相等”和“相等”。

没有评论: