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 @ 2010-03-04 08:28  Jake Lin  阅读(2826)  评论(9编辑  收藏  举报