INF文件语法及书写规范

您所在的位置:网站首页 inf的缩写是什么意思 INF文件语法及书写规范

INF文件语法及书写规范

2024-07-16 23:22| 来源: 网络整理| 查看: 265

Inf文件简介:INF是Device INFormation File的英文缩写,是Microsoft公司为硬件设备制造商发布其驱动程序推出的一种文件格式,INF文件中包含硬件设备的信息或脚本以控制硬件操作。 如图1:

运行inf文件的2种方法: GUI界面下右键点击inf文件>安装 命令行下相关格式:RunDll setupx.dll,InstallHinfSection section reboot-mode inf-name 命令行实例:rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 %1 (*.inf)

其中,rundll程序以命令行的形式调用Windows的动态链接库,其命令格式为: { rundll.exe ,, setupx.dll是安装API(Setup API)函数库,包含了InstallHinfSection、SetupGetInfSections、SetupInstallFromInfSection、SetupPromptForDisk、SetupDiCreateDevRegKey等INF文件内部语法检查、节名搜索、注册键创建等功能函数。setupx.dll与其后的入口点用逗号(,)分开,入口点是大小写敏感的。 Section是INF文件内初始执行节名,首先执行该节内容,默认情况下名称为“DefaultInstall”,系统用户一般不宜对此做任何改动,如被改动,则在后续INF文件的Install节使用相应修改后的名称。reboot-mode是重启动参数,指示在INF文件执行后对系统的设置进行了改变,操作系统是否重新启动。该参数一般设为132或4,即由安装程序决定是否必须重启动,因为某些设置的改变必须在重启动后才能生效。inf-name是INF文件的名称,“%1”即为所选中文件本身。 }

Inf语法和格式相关: 节-inf中的标准结构形式,编写时一般按一定的规律进行书写。 大小写-inf文件对大小写不敏感,即不区分大小写。 注释-inf文件以”:”为注释行开始标示,以”’”或”%”闭合。 分割符-inf文件使用”,”将各项参数进行分割,若参数为空可以省略。 空格-inf文件使用”_”来标示字符串及关键字中的空格。 行连接符-inf文件使用”\”作为行连接符,当书写代码时代码过长,需在换行处添加\符号关联语句。 引号-用于闭合路径中的空格。

以下对注释、分割、行连接、引号进行演示 图2:

Inf节及文件格式相关: PS:想了想因为主要讲inf文件应用于反病毒,所以驱动相关的参数在此不做解释。

首先介绍的当然是inf的文件格式: INF文件的组成有节(Sections),键(Key)和值(value)三部分。 关键节有 [Version]版本描述信息,主要用于版本控制。 [Strings]字符串信息,用于常量定义。 [DestinationDirs]定义系统路径信息。 [SourceDisksNames]指明源盘信息。 //不在本文内容之中 [SourceDisksNames]指明源盘文件名。 //同上 [DefaultInstall]开始执行安装。

本文以节为注重介绍对象。

[Version]头,类似以[]包含的字符串称为节名,[Version]头在inf文件中为重要参数,不的省略,节名带有唯一性,不得重复,对于NT系统来说节名不能超过255字节,节名与其下的语法构成节,作为inf文件的重要主成部分。

下面来逐个介绍节名及其固定语法:

[Version] 属于必选项,书写在inf文件头,该节的相关参数为Signature。 ;Signature:必选项,指定inf对应的操作系统。

[Version]演示 图3:

//操作系统类型2边的$符不能漏!

[Strings] 可选项,时常用于简化inf文件的复杂程度,减轻编写者的负担,相关参数为string_key。 ;string_key:用户自定义关键名称。

[Strings]演示 图4:

//引用时由%闭合,后面会有演示。

[DestinationDirs] 可选项,对目标文件或源文件进行系统路径的定义,用于复制、删除、新建文件,需要与DefaultInstall关联。

[DestinationDirs]演示 图5:

//图为[DestinationDirs]节的一般格式,其中COPY为[DefaultInstall]自定义参数名称,0为标号,用于简化[DestinationDirs]的书写,其中0的意思是指定目录,E:\即指定的目录。

标号相关 图6:

红色的那个我没找到。。。。。。。。。-。-不知道是什么目录。

[DefaultInstall] 必选项,inf文件的主体节,由用户自定义子节类型及节名。

相关功能如下: LogConfig Log日志文件配置 Copyfiles 复制文件 Renfiles 文件改名 Delfiles 删除文件 AddReg 添加注册项 DelReg 删除注册项

其中我挑选复制文件和添加注册表项想大家介绍。

Copyfiles的使用 ;首先定义一个子节,用”=”赋值,并为其定义节名, 格式如下:dest_filename,soure_filename,flags ;dest_filename:必选项,指定被复制文件所要存放的文件路径及文件名(源目录可以省去文件路径 //下同)。 ;soure_filename:可选项,指所需复制的文件名,如省去此项,则使用dest_filename所指定的文件名为源文件名。 ;flags:可选项,用于指定复制过程中所遵循的操作参数,如不添加flags值系统默认为0(0为系统默认值)。 使用方法如下 图7:

相关flags值 图8:

// Renfiles、Delfiles类似。

AddReg的使用 ;首先定义一个子节,用”=”赋值,并为其定义节名, 格式如下:reg_root_string,subkey,value_name,flags,value ;reg_root_string:必选项,代表注册表根键的缩写。 ;subkey:必选项,用于指向reg_root_string值所规定的注册表路径,其中值得注意的是,如果指定路径中不存在注册表项则新建,根键下不得新建项 ;value_name:可选项,指定添加键的名称,若省略则使用系统默认值。 ;flags:可选项,用于指定注册表键值的类型。 ;value:可选项,用于指定注册表键值的数值。 使用方法如下 图9:

相关flags值 图10:

// DelRegl类似。

------------------------------------------无敌分割符------------------------------------------------ 经过上面的讲解,差不多反病毒相关的inf知识都已经说到了,那么我简单的演示下。

实例: [Version] Signature= w i n d o w s N T windows NT windowsNT //系统类型为NT Provider=des7791 //制作者des7791 [Strings] Reg_sz=0x00000000 //用Reg_sz替代0x00000000 Path=C:\ //用Path替代路径C: [DestinationDirs] COPY=0,%path% //引用Path指定目标目录为C: [DefaultInstall] Copyfiles=copy //定义Copyfiles子节名为copy Addreg=add //定义Addreg子节名为add [copy] Kingzoo.txt,des7791.txt,0 //复制当前路径的des7791.txt到C:\命名为kingzoo.txt Kingzoo.jpg,e:\des7791.jpg,0 //复制路径为e:\的des7791.jpg到C:\命名为kingzoo.jpg [add] HKLM,SOFTWARE\des7791,教程,%REG_SZ%,终于结束了_ //在HKLM\SOFTWARE\des7791引用Reg_sz建立名为教程,类型为字符,键值是终于结束了_的子键



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3