怎样取出Dll中的字符串(50分)

  • 主题发起人 主题发起人 wrench
  • 开始时间 开始时间
W

wrench

Unregistered / Unconfirmed
GUEST, unregistred user!
我想用一个Dll专门来存放字符串资源
然后在别的程序中从该Dll中读出字符串并显示
请问如何实现?
 
LoadLibrary 装入dll
LoadString 读出
 
pipi
愿闻其详
 
我只知道用其它软件实现。:)
ResXTractor
 
你知道资源的名字吗?如果不知道,还要EnumResourceNames
 
我的意思是我自己做一个资源Dll
然后在我自己的程序中使用,
请问具体实现
 
我要分,1分也得,大家这么熟了。
 
to yxyyyy
想分想疯了?
到时候给你两分。
 
to wrench: 资源DLL你已经做了还是没做。
 
var
hResDll: THandle;
hResDll := LoadLibrary('XXX');
LoadString(hResDLL, ...);
 
先编辑一个rc文件,格式大致如下(俺记不大清楚):
string table
{ 1:the string you need
2:and so on...
3:....
}
然后用rc.exe编译一下,得一res资源文件,在dll编译时包括进去,
既得一包含字符串的dll,
在程式中用LoadLibrary隐式装入,
再用LoadString装入ID号对应的String.
不想记ID可另写一Unit,在其中const一下,如:
ID_PROGRAM=1.
 
各位,我在DLL中用ResouceString
定义的字符串,如何在别的程序中被使用?
 
别的程序指什么?
 
就是我另外写程序使用这个DLL
 
不是和你在这个程序里使用一样吗?
我原来做过,不过做的是资源,不是dll,
用资源挺简单的。
 
现在的情况是我想使用某个动态联结库中的资源
 
你怎么知道里面有字符串资源呢,可以列举的,pipi 对这个熟。
 
to superMMX
DLL是自己做的,怎会没有?
 
>现在的情况是我想使用某个动态联结库中的资源
你用 h:=LoadLibrary(那个dll文件)
然后
var buf:array[0..1024] of char;
LoadString(h,你要的string的id, @buf,sizeof(buf))
 
后退
顶部