标题: [求助]文件的识别与图标显示
[打印本页]
作者: cad55
时间: 2010-8-28 14:14
标题: [求助]文件的识别与图标显示
请教各位:
在系统中通常根据扩展名,来识别文件,并配以相应图标。
现想,相同的扩展名,但文件头有区别,能否,分别配上不同的图标。
这个意图是为了实现:某一类文件,但是由不同版本的软件所产生,让系统将它们直接区分出来。
请各位,,谢谢了。。
作者: slore
时间: 2010-8-29 15:14
明显不能。。。
新建一个文件文件,随便改名扩展,图标都会变,文件大小是0字节,
所以就不牵扯文件头。。。
你自己多注册些扩展名吧,不过比较乱可能。
.abcv1
.abcv2
……
作者: cad55
时间: 2010-8-30 08:27
Quote: |
Originally posted by slore at 2010-8-29 03:14 PM:
明显不能。。。
新建一个文件文件,随便改名扩展,图标都会变,文件大小是0字节,
所以就不牵扯文件头。。。
你自己多注册些扩展名吧,不过比较乱可能。
.abcv1
.abcv2
…… |
|
这一定是可能的,
有人搞过了,
是它多个功能的中的一个,文件量很大,
想,简化一下,要这样的功能。
还请大家,,费心,
[
Last edited by cad55 on 2010-8-30 at 08:28 ]
作者: cad55
时间: 2010-8-30 09:07
是这样的,
CAD软件,生成的文件,扩展名为*.dwg
其不同版本对应文件头
R12------AC1009
R13------AC1012
R14------AC1014
2000-----AC1015
2004-----AC1018
2006-----AC1021
若出现,0字节或非上述正常文件头代码均,显示为带?号的图标。
根据文件头,区别同类文件
请各位高手,大侠,指教。。。谢谢。。
[
Last edited by cad55 on 2010-8-30 at 09:22 ]
附件
1:
ScreenHunter_001.png (2010-8-30 09:22, 26.28 K, 下载附件所需积分 1点
)
作者: slore
时间: 2010-8-30 11:26
初步觉得是CAD可能带了什么dll处理的吧。
不知道.dwg的
导出ROOT主键下面的
.dwg和assoc.dwg对应的键值的注册表出来看看吧。
作者: cad55
时间: 2010-8-30 11:27
不运行,CAD时,,系统就是分清,了
作者: cad55
时间: 2010-8-30 11:30
dwg-------YaoCCAD.Drawing
assoc.dwg-----注册表中没有此项键值
作者: slore
时间: 2010-8-30 16:30
assoc.dwg是命令。。。就是看它的关联,应该就是YaoCCAD.Drawing
导出ROOT下的这个项出来看看。
作者: cad55
时间: 2010-8-31 08:43
Quote: |
Originally posted by slore at 2010-8-30 04:30 PM:
assoc.dwg是命令。。。就是看它的关联,应该就是YaoCCAD.Drawing
导出ROOT下的这个项出来看看。 |
|
谢谢,,应助,
导出的ROOT就是哪项。
作者: slore
时间: 2010-8-31 09:28
YaoCCAD.Drawing
项啊!
作者: cad55
时间: 2010-8-31 11:35
是这个吗
[
Last edited by cad55 on 2010-8-31 at 11:39 ]
附件
1:
ScreenHunter_007.png (2010-8-31 11:39, 47.79 K)
作者: slore
时间: 2010-8-31 11:50
ROOT\YaoCCAD.Drawing
项导出来。。。
作者: cad55
时间: 2010-8-31 12:31
Windows Registry Editor Version 5.00
[HKEY_USERS\S-1-5-21-1214440339-706699826-725345543-500\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.dwg\OpenWithProgids]
"AutoCAD.Drawing.16"=hex(0):
"YaoCCAD.Drawing"=hex(0):
作者: cad55
时间: 2010-8-31 12:32
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.dwg]
@="YaoCCAD.Drawing"
[HKEY_CLASSES_ROOT\.dwg\ShellNew]
"NullFile"=""
作者: cad55
时间: 2010-8-31 12:33
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{65B241A2-3199-4B3F-ADA7-D2DCFD7192E3}\ProgID]
@="YaoCCAD.Drawing"
作者: cad55
时间: 2010-8-31 12:34
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\YaoCCAD.Drawing]
@="YaoCCAD Drawing"
[HKEY_CLASSES_ROOT\YaoCCAD.Drawing\CLSID]
@="{65B241A2-3199-4B3F-ADA7-D2DCFD7192E3}"
[HKEY_CLASSES_ROOT\YaoCCAD.Drawing\DefaultIcon]
[HKEY_CLASSES_ROOT\YaoCCAD.Drawing\Insertable]
@=""
[HKEY_CLASSES_ROOT\YaoCCAD.Drawing\protocol]
[HKEY_CLASSES_ROOT\YaoCCAD.Drawing\protocol\StdFileEditing]
[HKEY_CLASSES_ROOT\YaoCCAD.Drawing\protocol\StdFileEditing\server]
@="C:\\PROGRA~1\\YaoCCAD\\YaoCCAD.exe"
[HKEY_CLASSES_ROOT\YaoCCAD.Drawing\protocol\StdFileEditing\verb]
[HKEY_CLASSES_ROOT\YaoCCAD.Drawing\protocol\StdFileEditing\verb\0]
@="&Edit"
[HKEY_CLASSES_ROOT\YaoCCAD.Drawing\shell]
@=""
[HKEY_CLASSES_ROOT\YaoCCAD.Drawing\shell\open]
@=""
[HKEY_CLASSES_ROOT\YaoCCAD.Drawing\shell\open\command]
[HKEY_CLASSES_ROOT\YaoCCAD.Drawing\shell\open\ddeexec]
[HKEY_CLASSES_ROOT\YaoCCAD.Drawing\shell\print]
@=""
[HKEY_CLASSES_ROOT\YaoCCAD.Drawing\shell\print\command]
[HKEY_CLASSES_ROOT\YaoCCAD.Drawing\shell\print\ddeexec]
[HKEY_CLASSES_ROOT\YaoCCAD.Drawing\shell\printto]
@=""
[HKEY_CLASSES_ROOT\YaoCCAD.Drawing\shell\printto\command]
[HKEY_CLASSES_ROOT\YaoCCAD.Drawing\shell\printto\ddeexec]
作者: cad55
时间: 2010-8-31 12:35
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.dwg\OpenWithProgids]
"AutoCAD.Drawing.16"=hex(0):
"YaoCCAD.Drawing"=hex(0):
作者: cad55
时间: 2010-8-31 12:35
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.dwg]
@="YaoCCAD.Drawing"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.dwg\ShellNew]
"NullFile"=""
作者: cad55
时间: 2010-8-31 12:36
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\YaoCCAD.Drawing]
@="YaoCCAD Drawing"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\YaoCCAD.Drawing\CLSID]
@="{65B241A2-3199-4B3F-ADA7-D2DCFD7192E3}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\YaoCCAD.Drawing\DefaultIcon]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\YaoCCAD.Drawing\Insertable]
@=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\YaoCCAD.Drawing\protocol]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\YaoCCAD.Drawing\protocol\StdFileEditing]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\YaoCCAD.Drawing\protocol\StdFileEditing\server]
@="C:\\PROGRA~1\\YaoCCAD\\YaoCCAD.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\YaoCCAD.Drawing\protocol\StdFileEditing\verb]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\YaoCCAD.Drawing\protocol\StdFileEditing\verb\0]
@="&Edit"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\YaoCCAD.Drawing\shell]
@=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\YaoCCAD.Drawing\shell\open]
@=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\YaoCCAD.Drawing\shell\open\command]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\YaoCCAD.Drawing\shell\open\ddeexec]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\YaoCCAD.Drawing\shell\print]
@=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\YaoCCAD.Drawing\shell\print\command]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\YaoCCAD.Drawing\shell\print\ddeexec]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\YaoCCAD.Drawing\shell\printto]
@=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\YaoCCAD.Drawing\shell\printto\command]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\YaoCCAD.Drawing\shell\printto\ddeexec]
作者: cad55
时间: 2010-8-31 12:37
Windows Registry Editor Version 5.00
[HKEY_USERS\S-1-5-21-1214440339-706699826-725345543-500\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.dwg\OpenWithProgids]
"AutoCAD.Drawing.16"=hex(0):
"YaoCCAD.Drawing"=hex(0):
作者: cad55
时间: 2010-8-31 12:38
先谢一下
作者: slore
时间: 2010-8-31 12:54
[HKEY_CLASSES_ROOT\YaoCCAD.Drawing\DefaultIcon]
DefaultIcon默认是空,所以如果是0字节的话是没有图标的。
一般都是文件图标是根据这里来的。
[HKEY_CLASSES_ROOT\YaoCCAD.Drawing\CLSID]
@="{65B241A2-3199-4B3F-ADA7-D2DCFD7192E3}"
说明有个DLL。。。
HKEY_CLASSES_ROOT\CLSID\{65B241A2-3199-4B3F-ADA7-D2DCFD7192E3}
你可以看看,是个DLL文件应该。
如果要其他的某个类型支持这种,估计得写个DLL了,或者改造它这个DLL。
作者: cad55
时间: 2010-8-31 14:37
谢谢了,,
这是CAD图标文件
acadficn.dll
[
Last edited by cad55 on 2010-8-31 at 14:38 ]
附件
1:
acadficn16.rar (2010-8-31 14:38, 142.91 K,下载次数: 2)
作者: slore
时间: 2010-8-31 20:36
这不装CAD也不清楚。。。反正是要写DLL的。。。