Windows API一日一練(52)GetCurrentDirectory和SetCurrentDirectory函數

來源:互聯網
上載者:User
在開發軟體裡,常常碰到要讀取目前的目錄下的配置參數檔案,或者開啟目前的目錄下別的程式來運行,那麼就需要擷取當前進程的目錄位置,這就需要使用函數GetCurrentDirectory擷取當前進程所有在的目錄。同時也可以使用SetCurrentDirectory函數來改變進程的目前的目錄。 函數GetCurrentDirectory和SetCurrentDirectory聲明如下: WINBASEAPIDWORDWINAPIGetCurrentDirectoryA(    __in DWORD nBufferLength,    __out_ecount_part_opt(nBufferLength, return + 1) LPSTR lpBuffer    );WINBASEAPIDWORDWINAPIGetCurrentDirectoryW(    __in DWORD nBufferLength,    __out_ecount_part_opt(nBufferLength, return + 1) LPWSTR lpBuffer    );#ifdef UNICODE#define GetCurrentDirectory GetCurrentDirectoryW#else#define GetCurrentDirectory GetCurrentDirectoryA#endif // !UNICODE WINBASEAPIBOOLWINAPISetCurrentDirectoryA(    __in LPCSTR lpPathName    );WINBASEAPIBOOLWINAPISetCurrentDirectoryW(    __in LPCWSTR lpPathName    );#ifdef UNICODE#define SetCurrentDirectory SetCurrentDirectoryW#else#define SetCurrentDirectory SetCurrentDirectoryA#endif // !UNICODE  nBufferLength是緩衝區的大小。 lpBuffer是接收目錄的緩衝區指標。 lpPathName是設定的目錄。 調用函數的例子如下:#001  //擷取或者改變目前的目錄路徑。#002  //蔡軍生 2007/10/17 QQ:9073204 深圳#003  void GetCurDir(void)#004  {#005         //#006         TCHAR szBuf[MAX_PATH];#007         ZeroMemory(szBuf,MAX_PATH);#008         if (GetCurrentDirectory(MAX_PATH,szBuf) > 0)#009         {#010               //擷取進程目錄成功。#011               OutputDebugString(szBuf);#012         }#013         else#014         {#015               //改變目前的目錄位置。#016               SetCurrentDirectory(_T("C:\\"));#017         }#018 #019         OutputDebugString(_T("\r\n"));           #020  }#021 
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.