正文

获得当前dll或者exe路径2011-01-07 11:32:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/yuqiexing/52141.html

分享到:

代码比较简单:

CString CT3D_GetApplicationDir()

 CString   szFileName;  
 GetModuleFileName(g_hInstance,szFileName.GetBuffer(MAX_PATH),MAX_PATH);  
 szFileName.ReleaseBuffer();  

 char   szDrive[MAX_PATH];  
 char   szDir[MAX_PATH];  
 _tsplitpath(szFileName,szDrive,szDir,NULL,NULL); 

 szFileName.Format("%s%s",szDrive,szDir);

 return szFileName;
}

g_hInstance为NULL时,表示获得当前进程的路径,也就是exe。

当g_hInstance为dll的地址时,表示获得当前dll的路径。

 

小知识:

handle       是代表系统的内核对象,如文件句柄,线程句柄,进程句柄。      
hmodule       是代表应用程序载入的模块,win32系统下通常是被载入模块的线性地址。      
hinstance       在win32下与hmodule是相同的东西,在win32下还存在主要是因为win16程序使用hinstance来区别task。      

阅读(5458) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册