|
|
本帖最后由 mdyblog 于 2015-6-8 20:48 编辑
找出原因了。
解决:
TEAM PATH @%SystemRoot%| LINK %Desktop%\ImDiskX,%SystemRoot%\System32\Imdisk.CPL,,Imdisk.CPL#0,创建和管理ImDisk虚拟磁盘!
PATH @%CurDir% //回来
原因:
PECMD2012支持相对路径图标,如 A.ICO
但是这样是非法的。
PECMD2012 会勤快地 转换为绝对路径(全路径)
但是 对DLL的0图标, 全路径 时,反倒失败------大概真的强制当作ICO来处理了。
比如:
LINK %Desktop%\ImDiskX,%SystemRoot%\System32\Imdisk.CPL,,%SystemRoot%\System32\Imdisk.CPL#0,创建和管理ImDisk虚拟
PECMD4 PECMD2012 都会失效。
对:
LINK %Desktop%\ImDiskX,%SystemRoot%\System32\Imdisk.CPL,,Imdisk.CPL#0,创建和#0,创建和
PECMD4 从不转换Imdisk.CPL,所以没问题。
PECMD2012 会转换为 %SystemRoot%\System32\Imdisk.CPL, 这样问题据来了。
但是如果 PATH @%SystemRoot%|
那么 当前目录没有Imdisk.CPL这个相对路径, PECMD2012就不转换。就没事了。
===========
这是个选择的问题。要不要支持 相对路径图标。
综合考虑,还是支持, 至于DLL 0#图标, 先转换一下路径来解决。
|
|