您好我在PC上创建了2个WPF应用程序。让我们假设首先是" OneApp"另一个是" TwoApp"。我在Visual Studio 2012中创建了这个。我已经从安装程序安装了OneApp。现在我想运行" OneApp" by" TwoApp"应用程序编程。那么我怎样才能找到" OneApp"的路径?应用?或者,如果我们可以设置" OneApp"手动安装目录,那也很棒。
修改
我按照建议尝试了System.IO.Path.GetDirectoryName。但我得到文件夹路径如下
我不能像其他普通应用程序一样安装在Program Files中吗?
答案 0 :(得分:3)
您通常可以询问Assembly
硬盘上的位置。这应该给你一个以C:\
开头的路径(如果它明显在C盘上)...试试这个:
Assembly assembly = Assembly.GetExecutingAssembly();
Uri uri = new Uri(Path.GetDirectoryName(assembly.CodeBase));
在我的开发环境(Visual Studio)中,这给了我:
C:/ DevelopmentProjects / AppName的/项目名/ bin中/调试
例如。它是组件运行的地方。在已安装的应用程序上,它应该告诉您程序集的运行位置。
答案 1 :(得分:1)
是:
wifomrs
然而,对于 Application.StartupPath
来说,情况并非如此,你看起来像是:
添加System.IO参考:
wpf
或
using System.IO;
string baseDir= System.AppDomain.CurrentDomain.BaseDirectory
答案 2 :(得分:0)
毕竟点击试试方法。我刚刚在博客中找到了解决此问题的更好解决方案。链接是
我的代码是获取应用程序:首先获取该应用程序的快捷方式,然后打开该快捷方式将正常工作。您还可以看到如何将数据发送到上述链接中的其他应用程序。
StringBuilder sb = new StringBuilder();
sb.Append(Environment.GetFolderPath(Environment.SpecialFolder.Programs));
sb.Append("\\");
//publisher name is OneApp
sb.Append("OneApp");
sb.Append("\\");
//product name is OneApp
sb.Append("OneApp.appref-ms");
string shortcutPath = sb.ToString();
Console.WriteLine(shortcutPath);
//Start the One App installed application from shortcut
System.Diagnostics.Process.Start(shortcutPath);