获取当前运行时的目录

 通常为了或者程序运行时目录,我们一般采用GetModuleFileName函数,但是当在DLL或者COM组建里调用该函数,

或者的是EXE的目录,不是当前COM组建或者DLL的目录。

 可以使用下面的方法或者真正的目录。

 

HMODULE   GetCurrentModule()  函数 
{
#if   _MSC_VER   <   1300         //   earlier   than   .NET   compiler   (VC   6.0)

 //   Here 's   a   trick   that   will   get   you   the   handle   of   the   module
 //   you 're   running   in   without   any   a-priori   knowledge:
 //   http://www.dotnet247.com/247reference/msgs/13/65259.aspx

 MEMORY_BASIC_INFORMATION   mbi;
 static   int   dummy;
 VirtualQuery(   &dummy,   &mbi,   sizeof(mbi)   );

 return   reinterpret_cast <HMODULE> (mbi.AllocationBase);

#else         //   VC   7.0

 //   from   ATL   7.0   sources

 return   reinterpret_cast <HMODULE> (&__ImageBase);
#endif
}

 

调用代码:

 /* HMODULE  h = GetCurrentModule();

  TCHAR lpFile[MAX_PATH];
  GetModuleFileName(h, lpFile, MAX_PATH);*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值