Windows Mobile开发的路径问题
在Windows Mobile和Windows Embedded CE开发过程中经常会遇到路径问题。在论坛中还有不少人下面的问题。
“找不到文件的异常”
其实这个问题很容易解决,路径一般分为绝对路径和相对路径,下面讲述如何查这些路径。
绝对路径
查绝对路径,首先需要ActiveSync设备。
右键点击Explore
点击 My Windows Mobile-Based Deivce
进入相应的路径。注意路径是以根目录“\”开始的,没有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 取当前运行文件的路径
相对路径查问题的方法一般是取出路径,然后和绝对路径进行比较,找出生成路径时的错误。
作者:Jake Lin(Jake's Blog on 博客园)
出处:http://procoder.cnblogs.com
本作品由Jake Lin创作,采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。 任何转载必须保留完整文章,在显要地方显示署名以及原文链接。如您有任何疑问或者授权方面的协商,请给我留言。
出处:http://procoder.cnblogs.com
本作品由Jake Lin创作,采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。 任何转载必须保留完整文章,在显要地方显示署名以及原文链接。如您有任何疑问或者授权方面的协商,请给我留言。