怎么读取dll文件中的资源
1个回答
展开全部
关键字: dll 资源 字符串资源
下面建立一个简单的dll为例,dll实现建立一个文件,并将读到的String Table资源写到此文件中。
步骤如下:1)在VC菜单中File-New新建一个命名为dlltest的Win32 Dynamic-Link Library工程,下一步选择
A simple DLL project。
2)在dlltest.cpp文件中添加代码:
#include stdafx.h
#include stdio.h
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, LPVOID lpvReserved){switch(fwdreason){case DLL_PROCESS_ATTACH:int i;FILE *fw;fw = fopen(filename, w);
char str[200];
LoadString(hinstDLL,1,filename,MAX_PATH);
fprintf(fw,%s/n, filename);break;default:break;}return(TRUE);}3)在VC菜单中Insert-Resource添加一个String Table,其ID为IDS_STRING1,Caption为abc,点击保
存,文件名为Script1.rc。
4)在Header Files中添加进resource.h; Resource Files中添加进Script1.rc。
5)在dlltest.cpp中添加头文件resource.h。
6)编译完成文件。
一个最简单的调用例子:
#include <stdio.h
#include <windows.h
int main(int argc, char *argv[]){
HINSTANCE hDll;
hDll = LoadLibrary(dlltest.dll); //加上路径return 0}可看到在修改IDS_STRING1的caption时,可读到不同的字符串。
下面建立一个简单的dll为例,dll实现建立一个文件,并将读到的String Table资源写到此文件中。
步骤如下:1)在VC菜单中File-New新建一个命名为dlltest的Win32 Dynamic-Link Library工程,下一步选择
A simple DLL project。
2)在dlltest.cpp文件中添加代码:
#include stdafx.h
#include stdio.h
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, LPVOID lpvReserved){switch(fwdreason){case DLL_PROCESS_ATTACH:int i;FILE *fw;fw = fopen(filename, w);
char str[200];
LoadString(hinstDLL,1,filename,MAX_PATH);
fprintf(fw,%s/n, filename);break;default:break;}return(TRUE);}3)在VC菜单中Insert-Resource添加一个String Table,其ID为IDS_STRING1,Caption为abc,点击保
存,文件名为Script1.rc。
4)在Header Files中添加进resource.h; Resource Files中添加进Script1.rc。
5)在dlltest.cpp中添加头文件resource.h。
6)编译完成文件。
一个最简单的调用例子:
#include <stdio.h
#include <windows.h
int main(int argc, char *argv[]){
HINSTANCE hDll;
hDll = LoadLibrary(dlltest.dll); //加上路径return 0}可看到在修改IDS_STRING1的caption时,可读到不同的字符串。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询