无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: nn2nn
打印 上一主题 下一主题

WIM文件也可有个性图标 (2008.2.24更新)

[复制链接]
31#
 楼主| 发表于 2008-1-30 13:21:55 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

32#
 楼主| 发表于 2008-1-30 13:25:36 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

33#
发表于 2008-1-30 15:43:21 | 只看该作者
从WIM后面读取图标可以用,但注册表不会弄,老是TXT文件在用这个DLL。

TxtFileIcons.rar

13.77 KB, 下载次数: 163, 下载积分: 无忧币 -2

回复

使用道具 举报

34#
发表于 2008-1-30 15:59:01 | 只看该作者
之前你使用了别人的工具,注册了相同的CLSID {DF4F5AE4-E795-4C12-BC26-7726C27F71AE}
系统中注册CLSID要小心,不能与别人使用的相同,要用CoCreateGuid创建。

[ 本帖最后由 lxl1638 于 2008-1-30 04:01 PM 编辑 ]
回复

使用道具 举报

35#
发表于 2008-1-30 16:18:56 | 只看该作者
原帖由 lxl1638 于 2008-1-30 15:59 发表
之前你使用了别人的工具,注册了相同的CLSID {DF4F5AE4-E795-4C12-BC26-7726C27F71AE}
系统中注册CLSID要小心,不能与别人使用的相同,要用CoCreateGuid创建。

没有CoCreateGuid

1.JPG (8.4 KB, 下载次数: 132)

1.JPG
回复

使用道具 举报

36#
发表于 2008-1-30 17:00:05 | 只看该作者
是微软的API,网上找找看看是哪个一DLL的,动态加载,用完就丢(卸)
回复

使用道具 举报

37#
 楼主| 发表于 2008-1-30 18:23:50 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

38#
发表于 2008-1-30 18:45:33 | 只看该作者
原来的shellreset可以用,但CLSID一定要用CoCreateGuid创建,否则到一些机子上会与别人已经注册的CLSID重复。
一般Wimdows外壳扩展的DLL、很多杀软都有自己的CLSID,弄不好会重复。
回复

使用道具 举报

39#
 楼主| 发表于 2008-1-30 19:00:35 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

40#
 楼主| 发表于 2008-1-30 19:52:53 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

41#
 楼主| 发表于 2008-1-30 20:07:06 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

42#
 楼主| 发表于 2008-1-30 20:14:35 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

43#
 楼主| 发表于 2008-1-30 20:27:21 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

44#
发表于 2008-1-30 20:43:25 | 只看该作者
原帖由 nn2nn 于 2008-1-30 20:07 发表
typedef struct _WIMICO
{
        ULARGE_INTEGER OffsetToEnd;
        DWORD Length;
        DWORD Check;
}WIMICO,*PWIMICO;
#define ...

那是ico文件的长度
回复

使用道具 举报

45#
 楼主| 发表于 2008-1-30 20:50:03 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

46#
 楼主| 发表于 2008-1-30 20:56:30 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

47#
 楼主| 发表于 2008-1-31 10:06:48 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

48#
发表于 2008-1-31 11:55:13 | 只看该作者
原帖由 nn2nn 于 2008-1-30 20:50 发表
DWORD  Length;是ico文件的长度.

向前偏移 Length就是ico文件的开始地址(即文件长度-WIMICO长度-Length=ULARGE_INTEGER OffsetToEnd;)

ico文件未必一定在文件结尾,而且主要是为了以后扩展。
不过好像没有人会在WIM文件结尾加入大于4GB的东西,可以把ULARGE_INTEGER改成DWORD节省4字节。

[ 本帖最后由 123 于 2008-1-31 11:58 AM 编辑 ]
回复

使用道具 举报

49#
发表于 2008-1-31 12:12:04 | 只看该作者
没必要搞的如此麻烦吧,直接用 Axialis IconWorkshop 建立个图标库然后导出为dll文件就行了嘛
回复

使用道具 举报

50#
 楼主| 发表于 2008-1-31 12:36:20 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

51#
 楼主| 发表于 2008-1-31 12:41:19 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

52#
发表于 2008-1-31 13:22:46 | 只看该作者
原帖由 nn2nn 于 2008-1-31 12:36 发表

ico文件必需在文件结尾,否则,没办法找到WIMICO结构。
(可以在WIM头定位WIMICO结构的位置,但这个位置未找到,即使找到MS没用(备用)的空间,那就是对WIM的兼容性的挑战了。查找标记定位也不好,那要花时。)

我的意思是在文件尾加了ICO后还可以加其它东西,这样ICO就不是刚好在文件尾。像我以前搞的一个程序,在EXE文件尾加了另一个EXE,然后在这个EXE尾部还加了IP,密码等信息。
回复

使用道具 举报

53#
 楼主| 发表于 2008-1-31 16:05:50 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

54#
 楼主| 发表于 2008-1-31 16:13:54 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

55#
 楼主| 发表于 2008-1-31 16:21:23 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

56#
发表于 2008-1-31 16:34:45 | 只看该作者
原帖由 nn2nn 于 2008-1-31 16:13 发表
做好了DLL吗?(我还没装VC,不能编译)

放出来试试!

注册问题是小事,可手工注册。

TxtFileIcons.rar (11.98 KB, 下载次数: 151)
原帖由 nn2nn 于 2008-1-31 16:21 发表
DWORD OffsetToEnd;
从字面上看,是文件尾的偏移。
读完了WIMICO,文件指针是文件尾还是WIMICO的头?

应该是WIMICO后面,每次读前都设置一下就行了。
回复

使用道具 举报

57#
 楼主| 发表于 2008-1-31 19:38:45 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

58#
 楼主| 发表于 2008-1-31 19:47:46 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

59#
 楼主| 发表于 2008-1-31 21:53:35 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

60#
发表于 2008-1-31 21:56:03 | 只看该作者
原帖由 nn2nn 于 2008-1-31 21:53 发表
TO123:
我刚装了创天中文VC++,(很老的)。
为什么编译你发的源码不通过?
以下提示:是什么意思?
--------------------Configuration: TxtFileIcons - Win32 Unicode Release MinDependency----------- ...

把出错的地方删掉,可能我没注意
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-28 12:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表