我有一个.NET Compact Framework应用程序,我正在从Windows CE移植到Windows Mobile 6.1。该应用程序提供了在需要与文件系统进行交互时启动对特定文件夹打开的文件资源管理器的功能,以作为用户的省时功能。无法在Windows Mobile中启动文件资源管理器
做,这是微不足道的代码(注意profileLocation
有路径目标文件夹查看):
try
{
string fileExplorer = "\\windows\\fexplore.exe";
Process.Start(fileExplorer, "/root," + profileLocation);
}
catch
{
MessageBox.Show("Could not open " + profileLocation);
}
仅供参考,这类似于在这里发现SO(.net cf - launch explorer programmaticly)的代码。
这对Windows CE设备非常有用(并且此代码的一个版本也适用于该应用程序的完整桌面版本),但在Windows Mobile版本中,代码不执行任何操作。它不会抛出异常(所以我知道该进程至少已经启动),但似乎也没有启动文件资源管理器。
我的第一个想法是它已经启动了,但是在我的应用程序的后面。但我已通过CE Remote Spy
和CE Remote Process Viewer
确认该过程完全不存在。
有没有人在Windows Mobile设备上实现过这个功能?
编辑:
基于下面的建议,我已经证实,下面的代码不工作:
Process.Start(fileExplorer, null);
现在我只需要确定哪些命令行选项可以用来使文件资源管理器启动并选择所需的文件位置。任何人都知道什么命令行选项可用于WinMo上的FEXPLORE?
它的启动没有任何命令行选项。中途在那里!谢谢。 – tcarvin
解决了,谢谢!忽略命令行参数中的'/ root'部分适用于此设备。还有一件事我需要添加到我的设备抽象来处理差异。 – tcarvin
这应该不是“\\ root”让fexplore打开一个特定的文件夹吗? – josef