VC++獲得當前進程運行目錄的方法
更新時間:2014年10月22日 11:50:02 投稿:shichen2014
這篇文章主要介紹了VC++獲得當前進程運行目錄的方法,可通過系統(tǒng)函數(shù)實現(xiàn)該功能,是非常實用的技巧,需要的朋友可以參考下
本文實例講述了VC++獲得當前進程運行目錄的方法,分享給大家供大家參考。具體實現(xiàn)方法如下:
該實例主要通過利用windows API獲得,具體代碼如下:
復制代碼 代碼如下:
CString GetAppPath() {
CString strAppPath; // 保存結果
TCHAR szModuleFileName[MAX_PATH]; // 全路徑名
TCHAR drive[_MAX_DRIVE]; // 盤符名稱,比如說C盤啊,D盤啊
TCHAR dir[_MAX_DIR]; // 目錄
TCHAR fname[_MAX_FNAME]; // 進程名字
TCHAR ext[_MAX_EXT]; //后綴,一般為exe或者是dll
if (NULL == GetModuleFileName(NULL, szModuleFileName, MAX_PATH)) //獲得當前進程的文件路徑
return FALSE;
_tsplitpath_s( szModuleFileName, drive, dir, fname, ext ); //分割該路徑,得到盤符,目錄,文件名,后綴名
strAppPath = drive;
strAppPath += dir;
return strAppPath;
}
CString strAppPath; // 保存結果
TCHAR szModuleFileName[MAX_PATH]; // 全路徑名
TCHAR drive[_MAX_DRIVE]; // 盤符名稱,比如說C盤啊,D盤啊
TCHAR dir[_MAX_DIR]; // 目錄
TCHAR fname[_MAX_FNAME]; // 進程名字
TCHAR ext[_MAX_EXT]; //后綴,一般為exe或者是dll
if (NULL == GetModuleFileName(NULL, szModuleFileName, MAX_PATH)) //獲得當前進程的文件路徑
return FALSE;
_tsplitpath_s( szModuleFileName, drive, dir, fname, ext ); //分割該路徑,得到盤符,目錄,文件名,后綴名
strAppPath = drive;
strAppPath += dir;
return strAppPath;
}
以上代碼在VS2008可編譯并運行。(要求MFC application或dll)
希望本文所述對大家的VC++程序設計有所幫助。
相關文章
Visual Studio Code 配置C、C++環(huán)境/編譯并運行的流程分析
這篇文章主要介紹了Visual Studio Code 配置C、C++環(huán)境/編譯并運行的流程分析,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05使用udp發(fā)送>=128K的消息會報ENOBUFS的錯誤的解決方法
在項目中選擇了unix域的數(shù)據(jù)報套接口。在使用過程中碰到了如下,問題:發(fā)送<128K的消息時,客戶、進程可以正常收發(fā)消息;發(fā)送>=128K的消息時,發(fā)送端(sendto)返回ENOBUFS的錯誤。下面小編來詳細說下2019-05-05