关于COM默认加载目录的问题

tianxiadys 2012-05-12 03:07:49
首先,在ASD.dll的ASD.h中声明一个导出类


extern "C" class ASD_DLL_API ASD
{
public:
ASD(void);
~ASD(void);

//省略其余部分
};


然后,在ASD.exe的ASD.cpp中引用并初始化


ASD ASDTemp;
ASDTemp = new ASD;


当new执行的时候,系统会自动寻找dll所在的位置

我记得好像是这个顺序(假设:e:\ASD.exe)

1.e:\(即应用程序所在的目录)
2.c:\Windows
3.c:\Windows\system32
4.系统环境变量

现在我想修改第一条,把它变成e:\ASD,因为我不想把dll和exe放在一个目录里,那样看起来很乱!
...全文
69 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianxiadys 2012-05-27
  • 打赏
  • 举报
回复
延迟加载dll可以解决这个问题


饿~~自己解决问题
tianxiadys 2012-05-13
  • 打赏
  • 举报
回复
怎么没有人知道么?帮帮忙呀。。。
tianxiadys 2012-05-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

SetDllDirectory
[/Quote]
完全没用,该函数针对LoadLibiary,对于COM无效
Saleayas 2012-05-12
  • 打赏
  • 举报
回复
SetDllDirectory
tianxiadys 2012-05-12
  • 打赏
  • 举报
回复
怎么设置呢
W170532934 2012-05-12
  • 打赏
  • 举报
回复
直接设置到环境变量的好

64,637

社区成员

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

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