小弟第一次创建纯资源dll,但是在使用dll中的字符串的时候碰到了问题。
dll中创建了一个String Table,其中包含了一系列字符串资源。但是在加载该dll并使用LoadResource获取相应字符串的时候,获取到的不只是我需要的字符串,还顺带着得到了后续的部分字符串。
比如:在dll的String Table中有3个字符串:
IDS_STATE_DISCONNECTED 104 Not connected
IDS_STATE_RUNNING 105 App's now running
ISD_STATE_STOPPED 106 App's now stopped
然后在运行的过程中,想要通过FindResourceExW和LoadResource获取value为104的字符串,但是105和106的字符串也会紧跟其后,输出结果类似:
Not connected?App's now running?App's now stopped
有没有哪位老大知道这是什么原因造成的?小弟拜谢...
问题补充:因为需要做国际化和本地化的字符串工作,所有版本的String Table都在同一个dll中,此外需要同时支持Win XP及其以后版本,且获取字符串过程中不做字符拷贝。
------解决方案--------------------------------------------------------
loadstring