Windows Mobile开发的路径问题

在Windows Mobile和Windows Embedded CE开发过程中经常会遇到路径问题。在论坛中还有不少人下面的问题。

“找不到文件的异常”

其实这个问题很容易解决,路径一般分为绝对路径和相对路径,下面讲述如何查这些路径。

 

绝对路径

查绝对路径,首先需要ActiveSync设备。

file-path-1

右键点击Explore

file-path-4

点击 My Windows Mobile-Based Deivce

file-path-3 

进入相应的路径。注意路径是以根目录“\”开始的,没有C盘,D盘的概念。

 

相对路径

.NET Compact Framework

System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.FullyQualifiedName);

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(TCHAR) * MAX_PATH);

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

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

具体请参考

在Windows Mobile和Wince(Windows Embedded CE)下进行Native C++开发,如何取出当前执行文件的路径和调用模块的路径

在Windows Mobile和Wince(Windows Embedded CE)下使用.NET Compact Framework 取当前运行文件的路径

 

相对路径查问题的方法一般是取出路径,然后和绝对路径进行比较,找出生成路径时的错误。

posted @   Jake Lin  阅读(2829)  评论(9编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示