MFC 獲得當前程式所在目錄
原文網址:http://yeahyuanqing.blog.163.com/blog/static/118025091201149480818/
MFC獲得當前應用程式目錄的GetCurrentDirectory()和GetModuleFileName()函式,GetCurrentDirectory只是返回當前程序的當前目錄,而並不是程序的映象檔案(.exe)所在的目錄,GetCurrentDirectory()適用於XP等系統,,在WinCE上不能使用,GetModuleFileName()適用於WinCE2.0以後.
函式說明:
DWORD WINAPI GetModuleFileName(
HMODULE hModule,
LPTSTR lpFileName,
DWORD nSize
);
函式功能
此函式得到當前應用程式的執行目錄,還包括應用程式的檔名。
引數說明
hModule:要獲取檔名的模組名柄,可以是運用LoadLiberary得到的控制代碼,null表示當前模組
lpFileName:輸出引數,存放取得的檔名
nSize:lpFileName引數的長度
DWORD GetCurrentDirectory(
DWORD nBufferLength, // size of directory buffer
LPTSTR lpBuffer // directory buffer
);
函式功能
找到當前程序的當前目錄
引數說明
nBufferLength:lpBuffer緩衝區的長度
lpBuffer:指定一個預定義字串,用於裝載當前目錄
返回值
呼叫成功 返回裝載到lpBuffer的位元組數。
使用方法:
//下面的一段程式碼主要是獲得當前程式的執行目錄(.exe)所在的目錄
{
CString path;
GetModuleFileName(NULL,path.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
path.ReleaseBuffer();
int pos = path.ReverseFind('\\');
path = path.Left(pos);
}
CString CXXXXXXApp::GetCurDir()
{
TCHAR sDrive[_MAX_DRIVE];
TCHAR sDir[_MAX_DIR];
TCHAR sFilename[_MAX_FNAME],Filename[_MAX_FNAME];
TCHAR sExt[_MAX_EXT];
GetModuleFileName(AfxGetInstanceHandle(), Filename, _MAX_PATH);
_tsplitpath(Filename, sDrive, sDir, sFilename, sExt);
CString homeDir(CString(sDrive) + CString(sDir));
int nLen = homeDir.GetLength();
if(homeDir.GetAt(nLen-1) != _T('//'))
homeDir += _T('//');
return homeDir;
}
GetModuleFileName函式
WINAPI DWORD GetModuleFileName(
HMODULE hModule,
LPWSTR lpFilename,
DWORD nSize
);
GetBuffer和ReleaseBuffer是一套需要配合使用的函式, 與GetBufferSetLength相比, 優點是如果分配的空間大於實際儲存的字串(0結尾),ReleaseBuffer會把多餘申請的空間釋放, 歸還給系統。
附加示例:
CString m_TempFile;
//獲取應用程式的全路徑
char exeFullPath[MAX_PATH];
GetModuleFileName(NULL, (LPWCH)exeFullPath, MAX_PATH);
//將其格式化為字串
m_TempFile.Format(L"%s", exeFullPath);
//去掉應用程式的全名(15為應用程式檔案全名的長度)
exeFullPath[m_TempFile.GetLength()-15]='\0';
//得到應用程式所在路徑
m_TempFile.Format(L"%s", exeFullPath);
//得到程式中檔案的全路徑
m_TempFile+="xxx.exe";
相關推薦
MFC 獲得當前程式所在目錄
原文網址:http://yeahyuanqing.blog.163.com/blog/static/118025091201149480818/ MFC獲得當前應用程式目錄的GetCurrentDirectory()和GetModuleFileName()函式,GetCurrentDirectory只是返回
java中獲得當前程式的工作目錄
轉載 http://blog.csdn.net/kongqz/article/details/3987198 java的System.getProperty()方法可以獲取的值。 java.version Java 執行時環境版本 java.ven
python 獲得當前程式的絕對路徑
. 以前的方法如果是要獲得程式執行的當前目錄所在位置,那麼可以使用os模組的os.getcwd()函式。如果是要獲得當前執行的指令碼的所在目錄位置,那麼需要使用sys模組的sys.path[0]變數或者sys.argv[0]來獲得。實際上sys.path是Python會去尋找
VS2010/MFC 獲取當前程式路徑 CString型別
第一種方案:TCHAR szFilePath[MAX_PATH + 1]={0};GetModuleFileName(NULL, szFilePath, MAX_PATH); // C:\**\**\Test.exe(_
MFC函式GetModuleFileName():獲得應用程式目錄絕對路徑
GetModuleFileName()得到模組的完整路徑名,例如,你載入c:\windows\system32\a.dll,得到模組控制代碼h,則你可以用GetModuleFileName()得到h模組的完整路徑名。 注:直接用LoadLibrary()或AfxLoadL
C++中用 GetModuleFileName()函式 獲得程式當前的執行目錄
//獲取當前程式所在路徑。 //蔡軍生 2007/12/05 QQ:9073204 深圳 void TestGetExePath(void) { // const int nBufSize = 512; TCHAR chBuf[nBufSi
C/MFC如何獲得應用程式當前路徑(整理)
第一種方法: DWORD GetCurrentDirectory( DWORD nBufferLength, // size, in characters, of directory buffer LPTSTR lpBuffer // pointer
獲得當前應用程式目錄的GetCurrentDirectory()和GetModuleFileName()函式 .
bool CtestDlg::GetXMLMessage(void) { char cModulePath[MAX_PATH] = {0}; ::GetModuleFileName(NULL, cModulePath, MAX_PATH);
Python中獲得當前目錄和上級目錄
http 路徑 返回 path 目錄 net blog sdn style [轉]原文地址:http://blog.csdn.net/liuweiyuxiang/article/details/71154346 獲取當前文件的路徑: from os import path
java獲得當前(或輸入所需年份)年、月、周的日曆
package com.dmap.plantimer.controller.api; import java.util.*; import java.text.SimpleDateFormat; public class CalendarAoo { public static void
Mac下獲取當前程式執行的目錄
NSString* getExePath() { char buf[0] = {0}; uint32_t size = 0; _NSGetExecutablePath(buf,&size); char* path = (char*)malloc(si
C++:寫一小段獲得當前應用程式所在路徑的程式
1、獲得當前執行路徑(當前檔案所在目錄) char filename[_MAX_PATH]; int num; if (GetModuleFileName(NULL, filename, _MAX_PATH) != 0) {//換成_getcwd(buffer
linux 下獲得當前目錄,上級目錄,資料夾名
$PWD /pwd 當前目錄 dname= $(dirname "$PWD") 上級目錄 basename '$PWD' 當前資料夾名 !=====以下轉載 刪除包含特定字元的行: g/pattern/d 刪除不包含指定字元的行: v
symlink readlink link建立、讀取,使用readlink獲取當前程式目錄
symlink 函式和 readlink 函式主要是針對符號連結檔案的操作。symlink 函式用來建立符號連結檔案,和 link 檔案是對應的。readlink 函式用來讀取連結檔案本身的內容(也就是符號連結指向的檔案的檔名)。 標頭檔案: #include <un
使用database control 配置資料庫時,要求在當前oracle主目錄中配置監聽程式,必須執行Netca以配置監聽程式,然後才能繼續。或者可以選擇繼續,但是不要使用database cont
http://liu2009e.blog.163.com/blog/static/11330865820110211558689/ 在建立資料庫之前,先需要配置。 安裝完Oracle後,需要配置一系列的引數才可以執行: 1、配置NetCA cmd--NetCA(cmd
微信小程式swiper如何獲得當前頁面的index
想要實現的效果:(滑動時顯示當前頁面index)看小程式的官方文件程式碼:index.wxml <swiper class='sw-tu' circular="true" current="0" bindchange='onSlideChangeEnd'>
在Linux下如何在程式中獲得當前呼叫棧資訊
主要使用backtrace和backtrace_symbols兩個函式。 #include#includeusing namespace std; //返回當前堆疊呼叫列表 string print_trace(int fd, int filter_first_lines
獲得當前日期所屬的本周第一天與最後一天
date 獲得 mkt 日期 時間 -m ech 當前 time echo ‘<br>本周起始時間:<br>‘;echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")
在java中怎樣獲得當前日期時間
follow 樣本 cda set mon do-while 如果 xtend div Calendar cal = Calendar.getInstance(); java.text.SimpleDateFormat sdf = new SimpleDateF
Android----獲得當前應用包名、當前activity的名字、推斷是否是系統桌面、service類
owin agen gac arr ddc add gets small cli 1、獲得當前應用包名 public static String getRunningActivityName(Context context) { ActivityManager acti