`
jgsj
  • 浏览: 961198 次
文章分类
社区版块
存档分类
最新评论

获取程序路径的方法

 
阅读更多

转自:http://dev.firnow.com/course/3_program/c++/cppjs/20100721/476794.html

用vc写程序时经常要获取程序的路径主要有以下三种方法
1,.//是的到应用程序的当前目录,但当前目录不一定等于应用程序执行文件的所在目录,一个应用程序被启动时,当前目录是可以被任意设置的。
2,GetCurrentDirectory同./

3,GetModuleFileName()得到模块的完整路径名,例如,你载入c:/windows/system32/mfc.dll,得到模块句柄h,则你可以用GetModuleFileName()得到h模块的完整路径名
1和2获取的是路径名,而3获取的是全路径名


GetModuleFileName函数原型
DWORD GetModuleFileName(
HMODULE hModule, // handle to module。将要得到的模块的句柄。如果是当前模块,NULL
LPTSTR lpFilename, // path buffer 得到的文件名。
DWORD nSize // size of buffer 一般MAX_PATH就可以了
);
可以通过以下方法获取路径名

char szCurPath[MAX_PATH];//定义一个字符串数据,长度为MAX_PATH ,MAX_PATH是预定义的宏,一般是个数字常量如256

GetModuleFileName(NULL,szCurPath,_MAX_PATH);

char* p = szCurPath;

while(strchr(p,'//'))
{
p = strchr(p,'//');
p++;
}

*p = '/0';

CString strSwfname = szCurPath;
szCurPath就是去除文件名的路径名

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics