每個Windows程序都有一個自己的當前目錄,默認是程序exe文件所在的目錄。系統在給程序加載動態鏈接庫文件(DLL)時先在程序當前目錄里查找要加載的DLL,如果在此目錄下沒有找到系統便會去Windows目錄下查找。在這兒我們主要將如何獲得程序的當前目錄,如果沒有自己去設置,我們可以把此目錄看成進程所在目錄。 函數原型: DWORD GetCurrentDirectory(DWORD nBufferLength,LPWSTR lpBuffer) 函數返回值: 返回0表示失敗,當函數調用成功將返回寫入緩沖區的字符串長度 和以前一樣我們有兩種方法來確定緩沖區長度: 1、使用已定義的常量MAX_PATH(260); 2、使用給函數傳入NULL的方法獲得緩沖區長度。 下面是函數的使用方法: wstring Info::getMyDirectory() { wstring wstr; unsigned long size=GetCurrentDirectory(0,NULL); wchar_t *path=new wchar_t[size]; if(GetCurrentDirectory(size,path)!=0) { wstr=path; } delete [] path; return wstr; }