请问dll如何初始化全局变量

栗子冰激凌 2011-10-12 09:21:07
手头上有一个hook的dll程序,原来用户名密码是写死了的
现在让c++读取配置文件,然后来初始化用户名和密码

写了个Config类来读取配置,用main函数测过可以读到信息
const char ConfigFile[]= "config.txt";
Config configSettings(ConfigFile);
username = configSettings.Read("username", username);

请问如何和我的dll程序相关联起来呢?
...全文
380 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
vilnies 2011-10-12
  • 打赏
  • 举报
回复
可以在DllMain()函数中作初始化工作。也可以写一个类,定义一个全局变量,构造函数内作初始化工作.
quwei197874 2011-10-12
  • 打赏
  • 举报
回复
同一进程上dll,exe中初始化没什么不同
科比布莱恩特 2011-10-12
  • 打赏
  • 举报
回复
[Quote=引用楼主 a49688448 的回复:]
手头上有一个hook的dll程序,原来用户名密码是写死了的
现在让c++读取配置文件,然后来初始化用户名和密码

写了个Config类来读取配置,用main函数测过可以读到信息
const char ConfigFile[]= "config.txt";
Config configSettings(ConfigFile);
username = configSettings.……
[/Quote]

在程序中定义比如:

extern CString g_hModule;

然后:
HMODULE g_hModule.Empty();

这样,这个变量就可以供你在dll中使用了。
栗子冰激凌 2011-10-12
  • 打赏
  • 举报
回复
是用一个CPublic声明static变量的形式么?
栗子冰激凌 2011-10-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 vilnies 的回复:]

可以在DllMain()函数中作初始化工作。也可以写一个类,定义一个全局变量,构造函数内作初始化工作.
[/Quote]
我发现DllMain在一个.obj里写死了,我就用全局变量,写了个类,来初始化,
可是加上Setting s;(我用的默认构造函数)
这个hook程序直接就挂不上去了
把这行代码放在一个普通函数中,调用那个函数的时候却可以初始化

64,681

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧