在dll中如何判断自己被同一个程序(或dll)调用的次数[比较难还是我很菜?]

linuxfly 2007-05-31 11:40:10
有一个可执行程序A.exe
两个动态链接库1.dll和2.dll

A.exe调用1.dll和2.dll

其中2.dll中又调用1.dll

那么我在1.dll中如何判断自己被调用了两次?

我从dllmain中的dll_process_attach中只能获取一次被调用的信息

请高手指教
...全文
327 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wltg2001 2007-06-01
  • 打赏
  • 举报
回复
用共享内存试试,修改DllMain,每载一次将一个共享的变量加1
mynamelj 2007-06-01
  • 打赏
  • 举报
回复
判断进程的实例句柄是否一样
linuxfly 2007-06-01
  • 打赏
  • 举报
回复
为什么我看到1楼和三楼是乱码??说的是什么啊
  • 打赏
  • 举报
回复
dll share memory.
CathySun118 2007-06-01
  • 打赏
  • 举报
回复
浣跨敤鎺ュ彛璁版暟鍣ㄥ嵆鍙仛鍒
Jazzlover 2007-06-01
  • 打赏
  • 举报
回复
是啊,因为被装载一次以后就驻在程序空间里了。
yuancaoren 2007-06-01
  • 打赏
  • 举报
回复
鍦╠ll涓坊鍔犱釜鍏变韩娈碉紝鍐嶅姞涓鏁板櫒姣忎竴娆ll_process_attach鏃?1灏卞彲浠ヤ簡
feimingbiao 2007-06-01
  • 打赏
  • 举报
回复
这个无法做到,DLLMain只是在加载卸载创建新线程时候被叫到,共享变量是没有用的。也没有API能返回LoadLibrary的Reference Count数。另外你的DLL可以被系统自动加载,也可以是LoadLibrary的时候加载。

能说说你到底想干什么吗?或许有比查数更合适的解决方案。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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