您现在的位置: 无忧电子商务网 >> 信息学院 >> 应用技巧 >> winxp >> 正文

一个文件的精彩 深挖INF文件格式功能

作者:佚名    信息学院来源:IT世界    点击数:    更新时间:2006-3-28 我要参与讨论

    Windows的系统文件夹中有各种系统文件,看着为数众多的文件类型,你想过了解它们的作用吗?本期我们将对其中的一种文件格式进行深挖,帮你实现一键备份个人设置,自动添加/删除系统组件,安装受限程序等功能。

  一、程序操作更简单——轻松实现软件安装与卸载

  1)自动添加/删除系统组件

  INF文件作为系统的关键文件,在很多地方都体现着作用,例如,系统用其定义“添加/删除Windows组件”中显示的内容。选择“开始→运行”,输入:%windir%inf后回车,双击里边的Sysoc.inf,你可以找到形如:msmsgs=msgrocm.dll,OcEntry,msmsgs.inf,hide,7这样的字段,将这段的hide删除,然后选择“控制面板→添加或删除程序→添加/删除Windows组件”,你就可以在里边找到Windows Messenger了,如图1所示。同样的方法,你可以删除很多你不想要的系统组件,你也可以在Sysoc.inf文件中需要的字段后边加上hide,隐藏指定的组件,以防其被别人删除。
  在“添加/删除Windows组件”中你可以添加你需要的系统组件,但是每次通过进入“添加/删除Windows组件”进行添加或卸载组件实在是麻烦,我们可以利用INF文件实现自动安装或卸载。这里我们以添加或删除传真组件为例。打开Sysoc.inf,找到:Fax=fxsocm.dll,FaxOcmSetupProc,fxsocm.inf,,7,这段话表示安装传真组件需要的文件。在放置Sysoc.inf文件的文件夹中,可以找到fxsocm.inf文件,在C盘下建立一个ABC文件夹,将这个INF文件拷贝进去。双击这个文件,在文件的顶端加入[Components]字段,然后换行,在其下边加入,在Sysoc.inf文件中找到的与传真相关的那行话,如图2所示。加入该字段的目的是告诉inf文件传真服务需要哪些组件。

 图2 修改INF文件

  然后在fxsocm.inf中搜索,[Optional Components]字段,将该字段下的文字复制,然后在ABC文件夹下建立一个文本文件,命名为1.txt,双击打开,输入:[Components],换行后将复制的字段粘入,针对本例该字段为:Fax,对于包含子组件的组件,将子组件列在组件的下方。然后在这些组件后边加上=on,如果你需要卸载组件则输入=off。然后输入:[NetOptionalComponents],换行后将[Components]下边的字段复制过来,将on改为1,如图3所示。如果是卸载或者安装的组件不包含子组件则不需[NetOptionalComponents]字段。

  图3 设置INF的安装参数

  再建立一个文本文档,在里边输入:%systemroot%system32sysocmgr.exe /i:"c:ABC xsocm.inf" /u:"c:ABC.txt",保存该文本文档,并将其改名为FAX.bat,将Windows XP光盘放入,再双击这个bat文件,即可完成组件的安装。以后只要需要安装这个组件,只需将ABC文件夹拷贝到C盘根目录下,运行里边的bat文件即可。

  2)突破软件安装限制
  
  很多优秀的软件都对我们的硬件又要求,比如SoundMAX软件可以很好的提高我们集成声卡的音质,但是其要求声卡芯片必须是AD188x、AD189x、AD198x等。否则将禁止安装。事实上这种限制很多都是通过在INF文件上加入限制实现的,只要修改INF的相应字段就可以突破这个限制。打开SoundMAX的Win2000/XP版的驱动,一般你会在里边找到3个INF文件,smwdmCH4.inf、smwdmCH6.INF、smwdmCH5.inf,分别对应ICH4芯片、ICH6芯片和其他非Intel芯片,如果你无法确定你的主板芯片,就把它们都改了,呵呵。
  
  打开其中的一个INF文件,然后搜索[AnalogDevices]字段,该段的最后一行为声卡的ID号。选择“开始→运行”,输入:dxdiag,回车后打开“DirectX诊断工具”,选择“声音”标签,如图4所示,将“设备ID”后边的字段覆盖INF文件中的对应字段即可。切记格式要完全一样,否则将无法安装。

  图4 查看声卡ID

  二、个人设置不再丢——备份常用文件夹

  说是备份个人设置,不如理解成重定向个人设置文件夹的位置更为贴切。我们常用的一些个人设置文件夹,如:收藏夹、Cookie文件夹、桌面文件、我的文档等,在每次重装系统时都要进行备份,否则重装后,这些信息将一去不复返。但是如果我们将这些文件夹移动到别的分区,就无需再费心的备份了。所以将这类操作也归为文件备份。
  
  假设系统盘是C盘,具体的操作步骤如下:用于存储用户的个人数据的分区为E区,我们需要将用户数据保存到E:MyData。首先我们编个bat文件,将需要备份的个人设置文件夹,都统统拷贝到这个文件夹中(如果是刚装的操作系统,这步就可以省了)。

   打开个记事本,输入下边的命令:
  
   set NEWDEST=E:MyData

   xcopy "%USERPROFILE%Favorites" "%NEWDEST%Favorites" /I /S /E

   xcopy "%USERPROFILE%Cookies" "%NEWDEST%Cookies" /I /S /E

  xcopy "%USERPROFILE%My Documents" "%NEWDEST%My Documents" /I /S /E

  xcopy "%USERPROFILE%Desktop" "%NEWDEST%Desktop" /I /S /E

  保存这个文档,将扩展名改为.bat,然后执行该批处理命令。
  
  然后再编个文件,自动修改注册表中的有关个人数据的路径,再打开记事本,在里边输入:
  
   [Version]
   Signature="$Windows NT$"
   [DefaultInstall]
   AddReg=Shell Folders_AddReg
   [Shell Folders_AddReg]
   HKCU,"%User_Shell_Folders%","Favorites",0x00020000,"E:MyDataFavorites"
   HKCU,"%User_Shell_Folders%","Personal",0x00020000,"E:MyDataMy Documents"
   hkcu,"%User_Shell_Folders%","Cookies",0x00020000,"E:MyDataCookies"
   HKCU,"%User_Shell_Folders%","Desktop",0x00020000,"E:MyDataDesktop"
   HKCU,"%User_Shell_Folders%","My Pictures",0x00020000,"E:MyDataMy DocumentsMy Pictures"
   [Strings]
   User_Shell_Folders="SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders"

  把这个内容保存,设置文件的扩展名为.INF,然后在文件上单击鼠标右键,选择右键菜单中的安装就可以了实现注册表更改了。注销后再登录,注册表中的设置就可以生效了。为了节省磁盘空间,你还可以把原来位置的个人数据都删了。下次再重装完以后,只需要再执行一下执行INF文件,并重登陆一次,你原来的设置就回来了。

在google里搜索更多一个文件的精彩 深挖INF文件格式功能

Google
Web www.51ec.org
【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
我来说两句 对此文章发表了评论
  昵 称: *必填    ·注册用户·
  评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
评 论
内 容

 
评论列表 (最新 评论仅限网友观点!)

供求信息




| 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明