在Windows Mobile和Wince(Windows Embedded CE)下进行Native C++开发,如何取出当前执行文件的路径和调用模块的路径...
在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 取當前運行文件的路徑
? ? 本文轉自Jake Lin博客園博客,原文鏈接:http://www.cnblogs.com/procoder/archive/2009/11/11/Windows_Mobile_Path.html,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的在Windows Mobile和Wince(Windows Embedded CE)下进行Native C++开发,如何取出当前执行文件的路径和调用模块的路径...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c#+ArcGIS Engine-获取矢
- 下一篇: MOOON-scheduler核心设计图