给定一个应用程序“Foo”,可以安装或不安装清单(进入“程序文件”)在Windows Vista下,它还有一个应用程序安装路径“bar”的子目录:
如何从不使用文件和注册表虚拟化的另一个(C#)应用程序中找到\ foo \ bar的实际路径。
这样做有干净的方法吗?
答案 0 :(得分:0)
在system.IO中,有一个名为Directory.GetDirectories的方法。
您可以使用它来迭代,检查名称foo(如果它在根目录中),然后进入吧。
如果您还需要驱动器名称,则可以使用DriveInfo.GetDrives。这些应该可以帮助您搜索它。例如:
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
string[] dirs = Directory.GetDirectories(d.name, "foo\bar");
foreach (string dir in dirs)
{
//you have your foo bar!
}
}