我用的是WinCE5.0, HPC部分在explorerbase.rc增加自己的图片
a. 如果是sysgen或build sysgen生成的image,执行LoadImage自己的图片时,失败,GetLastError()返回1814
b. 如果是sysgen或build sysgen HPC,然后再make run-time image生成image,这时Load自己的图片则成功,百思不得其解
比较两次生成image的结果,发现两次生成的文件RelDir\Emulator_x86_Release\0409\ceshui_base.res是不一样的,因为是二进制文件,搞不清具体是哪些东西不一样
求高人指点迷津
和LoadImage()没有关系,应该是资源没有加进去
错误1814,即是:找不到映像文件中指定的资源名。
奇怪的是build sysgen HPC,然后再make run-time image生成image可以成功LoadImage到icon.
我的做法是:
1. 在目录C:\WINCE500\PUBLIC\SHELL\OAK\HPC\EXPLORER\MAIN\RES\RES增加图片文件mypower.ico
2. 在C:\WINCE500\PUBLIC\SHELL\OAK\HPC\EXPLORER\INC\resource.h增加:
#define IDI_MY_POWER 1244
3. 在C:\WINCE500\PUBLIC\SHELL\OAK\HPC\EXPLORER\MAIN\explorerbase.rc增加:
IDI_MY_POWER ICON DISCARDABLE "RES\\mypower.ico"
这样做有什么问题吗?
DISCARDABLE 是指可抛弃的
要做成DISCARDABLE 不可抛弃的该用什么关键字呢???
发现
http://www.tech-archive.net/Archive/WindowsCE/microsoft.public.windowsce.platbuilder/2004-06/0210.html
说的也是这个问题,但还是不知怎么解决的
看sysgen的log有:
sysgen_redir=1
sysgen_shell=1
sysgen_standardshell=1
是不是sysgen shell后马上又去sysgen standardshell了
结果我只有standardshell的图片???