使用C#compact 2.0获取Windows CE 5.0中的当前目录

时间:2012-12-13 06:36:51

标签: compact-framework windows-ce compact-framework2.0

如何获取运行EXE的当前目录?我尝试了以下两个代码,但它们不起作用。

Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase);

使用上面我得到错误“名称”程序集“不存在......”

Directory.GetCurrentDirectory()

也行不通。

修改
好的,我发现另一个代码可以工作,但它给我目录“\ Windows”,但我的程序是从SD卡运行。我将程序复制到设备上的“Program Files”文件夹,但它再次给了我目录“\ Windows”。

如何获取当前目录或更具体地说明如何获取SD卡/闪存路径?

3 个答案:

答案 0 :(得分:6)

使用以下方法解决了问题:

System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase;

答案 1 :(得分:1)

MS Windows CE上没有“当前目录”,至少是版本6.

答案 2 :(得分:1)

以下代码可以帮助我获取CE 5.0系统上已启动myApp.exe的目录:

// i.e. "\hard disk2\my program\myApp.exe"
string assemblyLocation = Assembly.GetExecutingAssembly().GetName().CodeBase;
// i.e. "\hard disk2\my program\"
string currentDirectory = Path.GetDirectoryName(assemblyLocation);