【发布时间】:2010-04-09 18:16:12
【问题描述】:
我在 vb.net 上发布了一个应用程序。用户将能够在计算机上他们选择的任何地方安装应用程序(或者可能不是他们选择的任何地方,而是默认位置所在的任何地方)。如何以编程方式获取用户安装应用程序的位置?换句话说,我需要应用程序知道它从哪里运行。我如何检测到?
【问题讨论】:
-
哇,有这么多方法可以通过不同的方式实现相同的目标...+1 派对!
标签: vb.net
我在 vb.net 上发布了一个应用程序。用户将能够在计算机上他们选择的任何地方安装应用程序(或者可能不是他们选择的任何地方,而是默认位置所在的任何地方)。如何以编程方式获取用户安装应用程序的位置?换句话说,我需要应用程序知道它从哪里运行。我如何检测到?
【问题讨论】:
标签: vb.net
在运行时,你可以使用:
Application.StartupPath
【讨论】:
Application.ExecutablePath
这会告诉你你的 .exe 在哪里。希望有帮助。
【讨论】:
如果您的应用是 Windows 窗体应用,您可以使用 Application 静态类,正如其他人所指出的那样。对于其他类型的应用程序,请使用反射:
Dim a = System.Reflection.Assembly.GetEntryAssembly()
Dim location = a.Location
前几天我不得不这样做,效果很好。
【讨论】:
像这样:
Shared ReadOnly AppDirectory As String = _
Path.GetDirectoryName(New Uri(GetType(Program).Assembly.CodeBase).LocalPath)
【讨论】:
如果你把这段代码放在你的 exe 中,那么它会给你 exe 的路径。
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location)
【讨论】: