回 帖 发 新 帖 刷新版面

主题:jpeg 文件放入动态连接库中,如何实现

请问,如果做个动态连接库,在库里存放jepg 文件,如何实现,就像做bmp 文件的动态连接资源库一样。
位图中采用的是  BITMAP  那么JEPG文件用什么呢?

回复列表 (共3个回复)

沙发

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.

板凳

感谢上面的兄弟,好久没有来了,但我仍有些不懂哟,
“由于你是把资源放在dll中,所以这里的第一个参数指的是dll的hModule而非进程的hModule”,请问dll的hModule和进程的hModule有何区别,在动态装载dll 的时候,获得的不就是 dll 的hModule  吗?

烦劳赐教

3 楼

进程的hModule对WIN32系统来说一般是固定的(0x40000h)。而dll就不同了他是被进程加载的所以他的hModule对不同的进程来说一般是不同的(这也正是为什末作进程HOOK时必须用dll实现的奥秘,重定位呀)。至于你说的:在动态装载dll 的时候,获得的不就是 dll 的hModule  吗?没错。你可以看一下,它可绝对不是进程的hModule.

我来回复

您尚未登录,请登录后再回复。点此登录或注册