WindowsAPI詳解——GetCurrentDirectory 獲得程序當前目錄


每個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; 
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM