主题:jpeg 文件放入动态连接库中,如何实现
不惊风云
[专家分:130] 发布于 2005-03-02 23:44:00
请问,如果做个动态连接库,在库里存放jepg 文件,如何实现,就像做bmp 文件的动态连接资源库一样。
位图中采用的是 BITMAP 那么JEPG文件用什么呢?
回复列表 (共3个回复)
沙发
IASM [专家分:260] 发布于 2005-03-07 14:18:00
WIN32支持用户自定义资源类型。因此你可以把任何东东放入。
HRSRC FindResource(
HMODULE hModule, // resource-module handle
LPCTSTR lpName, // pointer to resource name
LPCTSTR lpType // pointer to resource type
);
看第3个参数,它可以是RT_BITMAP、RT_FONT、RT_ACCELERATOR......等等系统与定义资源类型也可以是形如‘JPG'、’BIN‘等自定义资源类型。需要注意的是。由于你是把资源放在dll中,所以这里的第一个参数指的是dll的hModule而非进程的hModule.
板凳
不惊风云 [专家分:130] 发布于 2005-04-28 23:01:00
感谢上面的兄弟,好久没有来了,但我仍有些不懂哟,
“由于你是把资源放在dll中,所以这里的第一个参数指的是dll的hModule而非进程的hModule”,请问dll的hModule和进程的hModule有何区别,在动态装载dll 的时候,获得的不就是 dll 的hModule 吗?
烦劳赐教
3 楼
IASM [专家分:260] 发布于 2005-04-29 10:30:00
进程的hModule对WIN32系统来说一般是固定的(0x40000h)。而dll就不同了他是被进程加载的所以他的hModule对不同的进程来说一般是不同的(这也正是为什末作进程HOOK时必须用dll实现的奥秘,重定位呀)。至于你说的:在动态装载dll 的时候,获得的不就是 dll 的hModule 吗?没错。你可以看一下,它可绝对不是进程的hModule.
我来回复