|
大家都知道,在“我的电脑”里有数也数不清的INF文件,但是却很少有人知道,INF文件是干什么用的。充其量,也仅仅停留在INF文件能够解开锁定的注册表这一感性的认识上,那么到底什么是INF文件,INF文件又能干些什么呢?今天让我们一起走进INF文件这一神秘的世界。
- d0 d5 F9 F: Q$ l- v 揭开INF文件的神秘面纱
* H# ^' L: s/ i; l) q" F INF是Device INFormation File的英文缩写,是Microsoft公司为硬件设备制造商发布其驱动程序推出的一种文件格式,INF文件中包含硬件设备的信息或脚本以控制硬件操作。在INF文件中指明了硬件驱动该如何安装到系统中,源文件在哪里、安装到哪一个文件夹中、怎样在注册表中加入自身相关信息等等。 安装监视器、调制解调器和打印机等设备所需的驱动程序,都是通过INF文件,正是INF的功劳才使得Windows可以找到这些硬件设备的驱动并正确安装。当我们通过“开始→控制面板→添加删除程序→Windows安装程序”来添加系统组件的时候,INF文件将会自动调用。而在其他场合下,则需要在INF文件上点击鼠标右键,然后选择“安装”,你才能顺利安装应用程序。
- l2 a Y3 m0 z4 |* K& s4 e 在C:/Windows/INF文件夹中存放有大量的INF文件。该文件夹一般处在隐含状态,如果你想查看该文件夹,可选择“查看→文件夹选项→查看”,然后在“文件和文件夹”选项下选择“显示所有文件”。
4 a1 O* ^8 W5 |! H Q# r 解剖INF文件的结构 7 J6 @( h! \% G0 H: b
INF文件其实是一种纯文本文件,可以用任意一款文本编辑软件来打开进行编辑,如:记事本、写字板等。INF文件有一整套的编写规则,每一个INF文件都是严格按照这些规则来编写的。 ' i, o$ v' o: [- ?2 I# ]
*规则一:INF文件是分节的,每一个INF文件有许多的节组成,节名用方括号括起来。这些节名有些是系统定义好的,有一些是用户自定义的。每一个节名最长为255个字符(Windows 2000/XP/2003操作系统中)或28个字符(Windows 98操作系统中)。节与节之间没有先后顺序的区别,另外,同一个INF文件中如果出现两个同样的节名,则系统会自动将这两个节名下面的条目合并到一起。 % F* N* T+ R8 z9 p( `* I
*规则二:在节与节之间的内容叫条目,每一个节又是由许多的条目组成的,每一个条目都是由形如“signature="$CHICAGO$"”的形式组成的。如果每一个条目的等号后有多个值,则每一个值之间用“,”号分隔开。 7 A' _& d& M: |' k2 K3 |
*规则三:INF文件对大小写不敏感。 , f& a% Q1 ~; q, z
*规则四:“;”号后面的内容为注释。 + k7 a7 ~% J l; v7 s0 T5 u( ]
*规则五:如果一个条目的内容过多,在一行无法书写完全,则用“\”将一行内容书写为多行。
1 |! c9 z0 L- x; e 明白了INF文件的规则后,让我们一起来解剖INF文件的结构。0 i$ X" M& n8 L9 |- J( c, N
1.Version节 + A% J% D6 c) d: t, @+ ^# B
每一个INF文件都包含一个这样的节,该节中的条目主要是描述此INF文件支持的设备类型和适用的操作系统。在该节中如果出现“signature="$CHICAGO$"”这样的条目则表示该INF文件适用于Windows 98之后的所有操作系统,如果包含“signature="$Windows NT$"”这样的条目则表示该INF文件适用于Windows 2000/XP/2003操作系统,而且两者必具其一。 ' e1 N. j9 \$ y/ W& u
另外,该节中“CLASS”条目很重要,它表明了设备的类型,常见的类型有:Display(显示设备,如显卡)、Media(多媒体设备,如声卡)、Net(网络设备,通常是网卡)、Modem(调制解调器)、Printer(打印设备)、Image(图像捕获设备,如摄像头)。
& e. t& K4 N7 \# U 2.Manufacturer节
# S x& N- V: D# Z( Y- A 该节中的条目主要是描述INF文件可以识别的所有硬件设备,其中包含有设备的生产厂家,以便设备的正确安装。如“%ATi%=ATi”指明设备的生产商为“ATi”,这个大家都不会陌生吧,是显卡的生产商。
3 H) Z7 t; f! m g 3.SourceDisksNames节
; M5 `/ p/ j; h1 D7 R 该节主要指明安装文件所在的介质。如:“1="ATi Drivers Release CD"”表明所有驱动程序都在零售版的CD盘上。
) ?6 f! F* H1 c, g! m: n 4.SourceDiskFiles节 : Y- c7 J) R8 d' O [3 f6 z& n
驱动程序文件列表及被安装的位置,该节必须结合[SourceDisksNames]节才能知道具体的位置。如“atinbtxx.sys=1”,则你必须到[DestinationDirs]节去查看“1”具体代表那个位置。
$ K& T/ q6 c% K: L( ?6 k 5.DestinationDirs节
E/ B* `' y0 g INF文件会指示安装程序在安装的过程中,将一些文件复制到硬盘上,或者将硬盘上的一些文件删除、重命名等。该节即指定了为实现上述目的的文件所在的目的路径。 3 q, I" T; G' r; ~- `$ |: S$ K, m; p
6.DefaultInstall节和Install节 # a2 P7 I9 m0 t- l! p6 a- F. S9 W* _
在这一节中描述了设备驱动程序与硬件设备的实际属性。默认情况下,首先执行[DefaultInstall]节,该节指定了要复制或删除的文件,注册表的更新,INF文件的更新等等信息,同时又包含指向其他节的指针。
5 n, J' c6 {- G( F" ? 7.String节
% ~0 b! v: J& s% o! G! h 这一节中定义了字符串变量$ _1 @: e6 a/ v% [/ d6 m/ u
,当某些字符串频繁地出现在INF文件中,为简化输入,可以在该节中定义一个字符串变量,代表该字符串出现在INF文件中。
# i1 M5 u( Z5 S" C$ z读懂INF文件 ; C& Z7 ~2 X5 B- r5 |. F& O6 `
. q( e2 w! N- u! d3 A s0 e- j) t8 G
下面让我们以ATi显卡的用于Windows XP的WDM驱动程序为例来说明一下INF文件的具体含义,由于INF文件往往很长,为了说明方便,我们删除了一些大部分的信息,仅保留一个INF文件的结构,如图1所示。
! t6 I$ x2 f9 y2 `4 R4 M/ S* B5 {. z5 p# |9 K5 D' C
! L0 M9 P! Y0 ^: j* I
$ D# r% r6 @" Q9 u+ h- W+ C) F J
$ n1 _9 y- |) x. A U- K
2 A+ \5 h0 A% Y% r INF文件精彩实例 ! E8 e' o! ?! ~
3 p; l4 f6 O6 C5 H# e% V! w 光说不练不行,下面让我们来看几个INF文件的典型应用。 / @/ |. ]# l4 X6 _2 l e2 v. E& M
0 C$ S {9 F M* a1 A$ o
1.打开“锁”定的注册表
2 I# v. O5 M6 m- L$ F+ s2 E4 @' M+ P/ G, s9 Q! O& ? M+ M
第一步:打开记事本程序,输入以下内容: ; `' O* ~3 I7 F& O" ^9 D2 E
! G; m, G, G3 w' O) w9 m [version]
. c( z* _4 s1 a5 n; E4 O, `/ i: q8 Y" \% e
signature=”$chicago$” - U+ |3 g& n) n9 Z n+ E) c
' N! C' }) T( s, Q# V, }2 @( v: R
[defaultinstall] & F: r' I5 k$ ^
+ d: ]8 R2 @ n. N7 r
delReg=DeleteMe
% L$ u$ G% o: h) ~" G. g: `% J* D4 D" d/ h0 W" r; d* a) p0 V
[DeleteMe] 6 G2 z9 F% D/ F- m
6 }+ J* w. `; F HKCU,“Software\Microsoft\Windows\CurrentVersion\Policies\System”,“DisableregstryTools”
9 V; `" l9 C6 } | T; j- c7 H: D# y& G) g. a- E. U# V& B
HKLM,“Software\Microsoft\Windows\CurrentVersion\Policies\System”,“DisableregstryTools”
; y6 q$ x$ h- h+ W) S$ I3 r, h: L2 f: Y( r
输入完毕,另存为UNLOCK.INF,名字任取,扩展名必须是INF。 |
|