獲取程序路徑的方法.\\,GetCurrentDirectory與GetModuleFileName的區別

用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就是去除文件名的路徑名
相關文章
相關標籤/搜索