在Windows Mobile和Wince(Windows Embedded CE)下進行Native C++開發,如何取出當前執行檔案的路徑和調用模組的路徑

來源:互聯網
上載者:User

在Windows Mobile和Wince(Windows Embedded CE)下進行Native C++開發,有時候需要取出當前執行檔案的路徑,或者調用模組的路徑資訊,例如在相對路徑下存放了設定檔,本機資料庫檔案等。

下面代碼可以完成這個任務:

BOOL APIENTRY DllMain( HANDLE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)
{
HINSTANCE hInst = (HINSTANCE)hModule;
TCHAR pathChar[MAX_PATH];
memset(pathChar, 0 , sizeof(char) * MAX_PATH);

//Get exe path
GetModuleFileName(NULL, pathChar, MAX_PATH);
CString path(pathChar);
path = path.Left(path.ReverseFind('\\') + 1);

memset(pathChar, 0 , sizeof(char) * MAX_PATH);
//Get DLL path
GetModuleFileName(hInst, pathChar, MAX_PATH);
path = pathChar;
path = path.Left(path.ReverseFind('\\') + 1);
}

其中GetModuleFileName(NULL, pathChar, MAX_PATH);可以取出執行檔案的路徑,而GetModuleFileName(hInst, pathChar, MAX_PATH); 取出執行模組的路徑。兩者有什麼區別呢,例如開發今日外掛程式,如果取出執行檔案的路徑是\Windows\shell32.exe,而取出調用模組的路徑是DLL的路徑,例如\Program files\JakePlugin\JakePlugin.dll。

 

關於.NET Compact Framework的實現可以參考下面文章:

在Windows Mobile和Wince(Windows Embedded CE)下使用.NET Compact Framework 取當前運行檔案的路徑

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.