文件的扩展名是什么,请列出并说明含义
悬赏分:0 - 解决时间:2007-2-21 15:21
提问者: nbalive0607 - 见习魔法师 二级
最佳答案
文件扩展名是文件类型的标志,WinXP会依据扩展名赋予文件不同的图标,并可启动对应的关联程序对其进行相关操作。故而,修改扩展名会直接影响一个文件的正常使用,为此系统多会提出警告,让用户明白这是十分危险的操作,改扩展名对初学者似乎成了一个禁区。 抱着怀疑的态度,我进行了一番摸索,终于深刻领悟到,拘泥于传统的束缚,实为学习电脑知识的大敌。不知各位看了下面的剖析是否会有同感!

一、扩展名与文件格式

大家知道Win9X启动画面,可用启动盘根目录下Logo.sys文件生成,它原本是个BMP图片,
只是改动一个字节后(为使画面底端滚动条动起来,将该文件第32h字节处的00h改成ECh),换了扩展名而巳。需指出的是,此文件并不受扩展名的限制。不信你用任一款磁盘编辑器(如HeditDiskedit),打开Io.sys文件查字串“Logo.sys” (如图1),将它改为“1234.123”,再把Logo.sys文件也重命名成1234.123,你会发现该画面依然能在启动时出现。由此可见,一些系统直接调用的文件,是不分扩展名的;且扩展名不同,并不代表文件格式不同,有些文件只需简单的改变扩展名,就能完成文件类型的转换。还可举出一些例子,如:Win98系统能用BMP图片做图标,无论把一个BMP图片改成什么扩展名,只要你仍指定用它做图标,保证没问题(ICO文件也是如此) 其实有的文件类型,如:SYS类型,并无固定的文件格式。同样Msdos.sys在旧版DOS中是二进制文件,而到了Win9X下便成为文本文件了。还有的类型原本就是同一种格式,只是换了扩展名而巳。如:SCR类型(屏幕保护程序),它可是地道的可执行文件。改一个SCR文件扩展名为EXE试试,运行它将打开屏保设置对话框(如果有的话),若在命令行加上“/S”参数便能运行此屏幕保护了。把它放在自己的软件中来调用(有些程序设计软件只能调用EXE类型文件),定会增不少! 必须着重提一笔的是TXT类型(纯文本),诸如BATINIINFHTMHTT等许多常见而重要的文件类型都是纯文本格式。更多的例子不胜枚举,以至我已养成一种
习惯,只要碰到有不明用途的小文件(64KB以下),总喜欢用记事本打开看看。这些类型的文件都有一些比较规则的排列布局,以及特定的关键字串。平时注意多观察多研究,往往能出其中的规律和关键字的用法,从而使自己拥有一条深入学习软件并挖掘软件潜力的捷径。 还是举个实例:刚装Win98时,任务栏的[快速启动]组中有个[显示桌面]图标,后来无意间被我删掉了。经过研究,发现其本质也是文本格式。打开记事本,编辑如图2所示的一段内容: 用扩展名SCF存盘,便又有了个[显示桌面]图标。同理,再几个SCF文件,也许你会有更多的发现。

二、扩展名与文件类型

系统是按文件类型确定关联程序的。这里所说的文件类型,是指[文件夹选项][文件类型]栏列出的各个项目。随着Windows日渐深入人心,必须更新一个传统认识上的误区:扩展名与文件类型划等号。虽然常规方法只能建立二者之间一一对应的关系,但通过注册表这个后门,却总会有些特例。 在注册表中,扩展名和文件类型名是HKEY_CLASSES_ROOT主键(以下简称HKCR)下的同一级主键,扩展名主键的默认值
正是其对应的文件类型主键名。一般来说,同一文件类型能对应多个扩展名,如[JPEG文件]类型有JPGJPEJPEG等扩展名;[文本文档]类型有TXTEXCDIC等扩展名(如图3);此外还有[HTML文件][MPEG文件]等类型均是如此。 产生这种现象的原因,大部分是出于兼容性的考虑。而同一时刻,一个扩展名对应的文件类型却是唯一的,说同一时刻是因为并非一个扩展名只能对应一种文件类型。很多随系统安装一起注册的扩展名,被其它程序改变其所属类型后,仍保存着原类型记录,当新类型被卸载后,它还可自动恢复。 典型的例子:在安装ACDSee32后,你可以从选项中自动把JPG图片重新注册为[ACDSee JPG Image]类型,这时打开注册表将会看到HKCR\.jpg主键下多了个UndoClass主键(如图4),默认值还是jpegfile(原类型主键名) 特殊情况下没有对应扩展名照样也能注册文件类型。例如:[文件夹]类型和[驱动器]类型,它们都是用由一长串字符组成的CLSID来注册的。还有像众多网络方面的协议类型,为适应不同操作平台的需要,也没有用扩展名注册。我们不难发现,绝大部分重要的文件类型及各种特定操作(如:剪切、复制)都有自己的CLSID,研究它们非常枯燥,有耐心的朋友,不妨自己尝试看看。这时,所谓文件类型已经超越出传统意义上的文件范畴,有了更广义的内涵。 此外,还想告诉大家个小窍门(如图5):在注册表里任意文件类型主键中,新建名为EditFlags[二进制
](显示的是16进制数,且低位在前,高位在后),它能决定所对应类型的编辑级别。当取值是01 00 00 00时,在[文件类型]栏里便不到该类型的身影,使别人无法编辑;当值为d2 01 00 00时,则其在上栏中会显示,却不能删除,也不能修改类型说明及关联操作。还可取很多值,如将这些值用二进制来表示,你就会明白,其实每一位都对应着一个按钮或一个可编辑的内容(1代表禁止,0代表启用,只有二进制数最后两位是10时,该类型才会显示),多改改就能理解它的含义了。

三、扩展名与关联程序

Win98系统中,一种文件类型可以设置多个关联操作,对应不同的应用程序。建立一个程序与某类型文件的关联,有不少办法:对于未知类型,其右键菜单中会有[打开方式...]项,点击它便能选择用于[打开]操作的关联程序;已建有关联程序的类型,按住Shift的同时点右键,也会在弹出菜单中出现[打开方式...]项,通过它能改变关联;若想实现一种文件类型与多个程序关联,用[文件类型]栏修改已能满足大部分需要,不过我还是喜欢直接编辑注册表,因为如此,常会有意外收获。喜欢自编软件的朋友,还可以利用安装程序提供的功
能,直接生成注册表项,来注册自己特有的文件类型。 前面说过,使用文本方式的文件类型很多,我们何不设置所有类型都与记事本()关联呢?打开注册表编辑器,在HKCR\\shell下新建一个主键Notepad,把右侧默认值设为用记事本打开;再新建下一级主键Command,把默认值设为“” “1”(如图6)。这样当我们对任意文件点右键时,弹出菜单中会多出一个[用记事本打开]项,点击它便能快速编辑各种以文本方式存储的文件类型了,这也是经常到一些文件秘密的好办法。

四、扩展名与文件加密

文件加上扩展名是为了方便系统给它们分类,反过来,如果我们篡改扩展名,就会打乱或错位这种分类,从而达到加密的目的。也许这是最简单的一种加密方法了,而且往往出人意料,有很好的加密效果,别说是菜鸟,就是一些老鸟也未必想得到。我曾发现一些软件用过此法。下面是个人的一些设想,供大家借鉴。 将可执行文件扩展名改成任意非可执行类型(如 .123),使别人无法知道它的原类型,达到禁止其独立使用的目的;设计相关程序在调用它时,能够自动改回扩展名(EXE)再运行,运行结束恢复原扩展名加密,这
便起到了隐藏重要可执行文件的作用。对于软盘安装程序,自解压包往往是要保密的,一旦被人绕过安装程序自行解压,可就少有秘密可言了。现在我们同样能改扩展名加密自解压包,在安装时拷贝它至硬盘并换回EXE扩展名,待解压完毕即删除硬盘上的复本,如此既提高了解压速度又有一定的加密效果。 在制作对外发行软件时,常用到一种防复制或限制使用的加密手段——文件暗贴,即在硬盘某处建一个文件,用来校验软件合法性或记录使用次数和时间。这种方案有个弱点,就是暗贴做成文件这种形式易被发觉。如今各种监测软件会迅速到这些怪异文件,之所以说怪异,只因它们或无扩展名、或扩展名大多没见过,自然引起解密者的怀疑。我想对付这种情况不妨玩个瞒天过海的手法,比方说:我们把暗贴(多是文本文件)改扩展名为DLL(假设自己软件中包含不少DLL文件),并把它与众多兄弟一起,放到系统目录中那庞大的“DLL队伍之中。如此一来,不仅不易察觉,即使一旦被发现,也很快便会被当成是动态链接库忽略不计的。对于程序指名调用的文件,改扩展名后不会影响暗贴发挥其应有的作用。此法的核心就是要突破常规,抓住人们的思维惰性。 上述围绕扩展名所作的文章,是我平时使用中积累的一点小经验,仅想藉此拓展大家的思路,希望能起到抛砖引玉的作用





扩展名 文件类型 打开方式

.aiff 声音文件 Windows media Player

.!!! Netants 暂存文件 Netants

.ani 动画鼠标

.arj 压缩文件 ARJ

.avi 电影文件 Windows media Player

.
awd 传真文档

.bak 备份文件

.bas Basic 语言 Basic

.bat DOS批处理文件

.bin MAC 二进制码文件 Stuffit Expander

.bmp 图象文件 画图/看图软件

.cab 压缩文件 Winzip

.cdr Corel图画文件 Corel Draw


.chk Scandisk检察后制作的文件 可以删掉

DOS命令文件 自执行

.cpx Cryptapix加密图片文件 Cryptapix

.cur 静态鼠标

.dbf 数据库文件 dBase, FoxBase, Access

.dll 应用程序扩展

.doc 文档文件 Word

.
dwg AutoCAD文件 AutoCAD

.eps Illustrator 图画文件 Adobe Illustrator

.exe 执行文件 自执行

.fon 字体文件

.gb 国标码文件 南极星文字处理

.get Getright 暂存文件

.gif 256图象文件 画图/看图软件

.gz 可供UNIXLINUX使用的压缩文件 Winzip


.hqx Macintosh 文件 Stuffit Expander

.htm 网页 浏览器

.html 网页 浏览器

.ico 图标

.ini 配置设置 笔记本或WordPad

.ipx IPX演示文件 浏览器加装IPX 插件

.jiff 图象文件 画图/看图软件

.
jpeg 压缩过的图象文件 画图/看图软件

.jpg 压缩过的图象文件 画图/看图软件

.js JavaScript

.lnk 快捷方式连接文件 连接文件的相应程序

.m3u Winamp播放列表 Winamp

.mid 声音文件 Windows media Player

.mov Quicktime影像文件 Quick Time

.mp3 压缩音乐文件 Winamp


.mpeg 影像 Windows media Player

.mpg 影像 Windows media Player

.njx 南极星文档 南极星文字处理

.pcb 电子电路图设计文件 Protel PCB

.pdf 便携式文档格式,内含图片文字等等 Adobe Acrobat, Adobe Acrobat Reader

.pm5 PageMaker 5 排版文件 Page Maker

.ppt Power Point 文件 Microsoft Power Point

.
ps GhostScript

.psd Photoshop文件 Adobe Photoshop

.pub Publisher排版文件 Microsoft Publisher

.qt Quicktime影像文件 Quick Time

.ra Real Audio声音文件 Real Audio

.ram Real Audio影像文件 Real Audio

.rar 压缩文件 Winrar

.rsf Richwin 字体文件


.sch 电子原理图设计文件 Protel Schematic

.scr 屏保文件

.sea Macintosh 启动文件

.sit 压缩 Stuffit Expander

.swf Flash动画文件 浏览器加装Macromedia flash 插件

.sys 系统文件

.tar UNIX压缩文件 Winzip

.
tif 高质量图象文件 画图/看图软件

.tiff 高质量图象文件 画图/看图软件

.tmp 暂存文件 可以删掉

.ttf 字体文件

.txt 纯文本文件 笔记本或全部文字处理系统

.vbs Visual Basic 编程文件 Microsoft Viasual Basic

.viv VIVO影像文件 浏览器加装怎么显示文件的扩展名VIVO 插件

.vqf 压缩声音文件 Yamaha SoundVQ Player


.wav 未压缩的声音文件 Windows media Player

.wk1 Lotus 123 试算软件文件 Lotus 123, Excel

.wq1 Q-Pro 试算软件文件 Q-Pro, Excel

.wri Write文字文档 Word

.xls Excel 试算软件文件 Microsoft Excel

.Z UNIX压缩文件 Winzip

.zip 压缩文件 Winzip