dll文件里的内容怎么读取啊?

如题所述

第1个回答  2013-07-20
下面建立一个简单的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时,可读到不同的字符串。 类似地,可读取其他资源:函数为: HBITMAP LoadBitmap(HINSTANCE hInstance,LPCTSTR lpBitmapName)
HICON LoadIcon(HINSTANCE hInstance,LPCTSTR lpIconName)
HMENU LoadMenu(HINSTANCE hInstance,LPCTSTR lpMenuName)
int LoadString(HINSTANCE hInstance,UINT uID,LPTSTR lpBuffer,int BufferMax) 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sharkly/archive/2006/04/22/673537.aspx本回答被网友采纳
第2个回答  2013-07-20
鼠标右键选择打开方式
相似回答