|
大家都知道,在“我的电脑”里有数也数不清的INF文件,但是却很少有人知道,INF文件是干什么用的。充其量,也仅仅停留在INF文件能够解开锁定的注册表这一感性的认识上,那么到底什么是INF文件,INF文件又能干些什么呢?今天让我们一起走进INF文件这一神秘的世界。
5 P8 W" r. a+ @# u" l, D' n$ w4 V* J 揭开INF文件的神秘面纱 + C- |" L3 `7 E* ~
INF是Device INFormation File的英文缩写,是Microsoft公司为硬件设备制造商发布其驱动程序推出的一种文件格式,INF文件中包含硬件设备的信息或脚本以控制硬件操作。在INF文件中指明了硬件驱动该如何安装到系统中,源文件在哪里、安装到哪一个文件夹中、怎样在注册表中加入自身相关信息等等。 安装监视器、调制解调器和打印机等设备所需的驱动程序,都是通过INF文件,正是INF的功劳才使得Windows可以找到这些硬件设备的驱动并正确安装。当我们通过“开始→控制面板→添加删除程序→Windows安装程序”来添加系统组件的时候,INF文件将会自动调用。而在其他场合下,则需要在INF文件上点击鼠标右键,然后选择“安装”,你才能顺利安装应用程序。
$ I! `) t" ~9 T& j4 P 在C:/Windows/INF文件夹中存放有大量的INF文件。该文件夹一般处在隐含状态,如果你想查看该文件夹,可选择“查看→文件夹选项→查看”,然后在“文件和文件夹”选项下选择“显示所有文件”。 ; H1 ^& T. H' o3 V) L: S$ ~
解剖INF文件的结构
3 }! b$ s N8 I2 M$ v2 n INF文件其实是一种纯文本文件,可以用任意一款文本编辑软件来打开进行编辑,如:记事本、写字板等。INF文件有一整套的编写规则,每一个INF文件都是严格按照这些规则来编写的。 * K: K1 q9 m8 G3 g9 A. {, L
*规则一:INF文件是分节的,每一个INF文件有许多的节组成,节名用方括号括起来。这些节名有些是系统定义好的,有一些是用户自定义的。每一个节名最长为255个字符(Windows 2000/XP/2003操作系统中)或28个字符(Windows 98操作系统中)。节与节之间没有先后顺序的区别,另外,同一个INF文件中如果出现两个同样的节名,则系统会自动将这两个节名下面的条目合并到一起。 ( G2 d5 {9 k: ` G" q: S
*规则二:在节与节之间的内容叫条目,每一个节又是由许多的条目组成的,每一个条目都是由形如“signature="$CHICAGO$"”的形式组成的。如果每一个条目的等号后有多个值,则每一个值之间用“,”号分隔开。 . A) D4 B) K* c9 Z
*规则三:INF文件对大小写不敏感。
- w3 s) s5 v: ?; p+ c4 \ *规则四:“;”号后面的内容为注释。
( i7 M% ~7 Y0 l3 L1 l( q *规则五:如果一个条目的内容过多,在一行无法书写完全,则用“\”将一行内容书写为多行。 5 }% u5 |2 Z' X/ Y$ I; W
明白了INF文件的规则后,让我们一起来解剖INF文件的结构。! e* M- y3 x- W7 t/ k0 y5 m
1.Version节 8 ~+ O" N+ \( g. w4 X
每一个INF文件都包含一个这样的节,该节中的条目主要是描述此INF文件支持的设备类型和适用的操作系统。在该节中如果出现“signature="$CHICAGO$"”这样的条目则表示该INF文件适用于Windows 98之后的所有操作系统,如果包含“signature="$Windows NT$"”这样的条目则表示该INF文件适用于Windows 2000/XP/2003操作系统,而且两者必具其一。
% H: y8 s! G5 J% D0 G 另外,该节中“CLASS”条目很重要,它表明了设备的类型,常见的类型有:Display(显示设备,如显卡)、Media(多媒体设备,如声卡)、Net(网络设备,通常是网卡)、Modem(调制解调器)、Printer(打印设备)、Image(图像捕获设备,如摄像头)。 ; i- U$ |* r; g, s
2.Manufacturer节
$ i! {& t2 J% r% O9 H 该节中的条目主要是描述INF文件可以识别的所有硬件设备,其中包含有设备的生产厂家,以便设备的正确安装。如“%ATi%=ATi”指明设备的生产商为“ATi”,这个大家都不会陌生吧,是显卡的生产商。 # E# z+ {( \+ g7 q
3.SourceDisksNames节
. k# Q3 e3 x7 ~% U, K, j 该节主要指明安装文件所在的介质。如:“1="ATi Drivers Release CD"”表明所有驱动程序都在零售版的CD盘上。
0 p: f" I2 z: h: y" C6 d 4.SourceDiskFiles节 1 D! }3 Y; @7 H: ], E, ~' \
驱动程序文件列表及被安装的位置,该节必须结合[SourceDisksNames]节才能知道具体的位置。如“atinbtxx.sys=1”,则你必须到[DestinationDirs]节去查看“1”具体代表那个位置。
$ X& y- e" o* q& r 5.DestinationDirs节 + Q" h# p3 [ Q A
INF文件会指示安装程序在安装的过程中,将一些文件复制到硬盘上,或者将硬盘上的一些文件删除、重命名等。该节即指定了为实现上述目的的文件所在的目的路径。 / S1 L6 Y; I3 c0 T2 S4 f" X# n
6.DefaultInstall节和Install节 B: W; _' }& R) w# P$ Z
在这一节中描述了设备驱动程序与硬件设备的实际属性。默认情况下,首先执行[DefaultInstall]节,该节指定了要复制或删除的文件,注册表的更新,INF文件的更新等等信息,同时又包含指向其他节的指针。 * _0 Q7 J+ d/ ^1 v9 U9 ^7 l3 e6 I
7.String节
( |" U5 f+ l% C) G' P2 \ 这一节中定义了字符串变量
: O0 ?! o3 @* c3 D2 v! Q,当某些字符串频繁地出现在INF文件中,为简化输入,可以在该节中定义一个字符串变量,代表该字符串出现在INF文件中。# f; |* [' L$ z6 _6 y2 Z' @0 z: z
读懂INF文件
$ s* m1 }, ^( T/ u6 a
7 u! m- T) K6 u- Z: O 下面让我们以ATi显卡的用于Windows XP的WDM驱动程序为例来说明一下INF文件的具体含义,由于INF文件往往很长,为了说明方便,我们删除了一些大部分的信息,仅保留一个INF文件的结构,如图1所示。
, x: K( P; P8 @* {0 J5 \8 R6 M( B& e) @- y# [/ `
6 t* M8 [( g: G, K5 R; w9 w B
4 P* C/ h% M) _5 [) O5 i, z, Y
) n3 n+ d- o/ e6 [& n4 t1 X% [" o
y6 J7 k4 f$ t! ]8 h9 n- A6 H INF文件精彩实例 5 r3 p; |4 O. F' _( R$ |
- g# R! q0 w9 @& h5 U 光说不练不行,下面让我们来看几个INF文件的典型应用。
2 X8 s3 T+ M3 r0 @
* X( F6 ]0 Q0 b; c1 S 1.打开“锁”定的注册表
$ H$ X4 l0 w t$ G% L
. T& g" n. d8 I8 H 第一步:打开记事本程序,输入以下内容: ; Y" \4 q7 U+ Y" w
2 V: h7 [& W9 t/ T5 C' y [version]
8 q6 l# t& j2 s" B% }& N$ F" ^5 c( o6 F* _% X1 R
signature=”$chicago$” : b5 H" b" d+ x2 L% A+ w" U" M9 j
' }" s4 N( `6 T" B. k) l. ?' x, j" i [defaultinstall]
( {: m, h' H, e M
, s, C6 u, w! }: A: ~9 A* f5 s' X delReg=DeleteMe
# H# ~; a, h& O) D$ V% J+ O8 c; G8 u1 \
[DeleteMe]
! f O$ o! N1 X3 l0 x+ F8 ^" A; l s. `& r/ ~3 E; C( T5 n
HKCU,“Software\Microsoft\Windows\CurrentVersion\Policies\System”,“DisableregstryTools”
?. g4 F. P Z, \% d
2 M) I* m) @6 C HKLM,“Software\Microsoft\Windows\CurrentVersion\Policies\System”,“DisableregstryTools” ; ^ T3 |# {7 D
: R5 ]8 l9 |; p m& I' j 输入完毕,另存为UNLOCK.INF,名字任取,扩展名必须是INF。 |
|