visual c#按钮在不指定驱动器的情况下打开文件

visual c#按钮在不指定驱动器的情况下打开文件,c#,C#,我在一家IT公司工作,在那里我们都随身携带有我们最常用的程序的闪存驱动器。在我的业余时间,我希望创建一个“主菜单”项,这是一种有趣和方便的方式来访问这些文件。我正在使用Visual Studio 2013和Visual C#windows窗体创建此文档。然而,我遇到了一个障碍,我似乎找不到解决办法。我对C#一点也不精通,但我需要在windows窗体上有一个按钮来打开文件,而不指定文件来自哪个驱动器。我知道我必须指定一个路径,但由于这些路径将存储在我和同事的闪存驱动器上,我无法预见路径将始终以E:

我在一家IT公司工作,在那里我们都随身携带有我们最常用的程序的闪存驱动器。在我的业余时间,我希望创建一个“主菜单”项,这是一种有趣和方便的方式来访问这些文件。我正在使用Visual Studio 2013和Visual C#windows窗体创建此文档。然而,我遇到了一个障碍,我似乎找不到解决办法。我对C#一点也不精通,但我需要在windows窗体上有一个按钮来打开文件,而不指定文件来自哪个驱动器。我知道我必须指定一个路径,但由于这些路径将存储在我和同事的闪存驱动器上,我无法预见路径将始终以E:开头。根据驱动器插入的USB插槽的不同,可以是N:或F:或类似的。我在下面提供了一个例子:

使用我目前知道的内容,我正在使用以下代码行打开文件: System.Diagnostics.Process.Start(“C:/Users/Myname/Desktop/Asmodeus/Anti-Virus/Anti-Virus Installers/avast\u free\u antivirus\u setup.exe”)

有没有什么方法可以让我直接从 System.Diagnostics.Process.Start(“Asmodeus/Anti-Virus/Anti-Virus Installers/avast\u free\u antivirus\u setup.exe”); 还是那种性质

提前谢谢

当我以前问我的问题时,一定是有一些错误的沟通。我要做的是通过在windows窗体上使用相对路径单击按钮打开一个可执行文件。我无法指定绝对路径,因为应用程序将从闪存驱动器运行,因此将根据当前插入的USB插槽而改变


我希望完成的是插入一行代码,允许我打开\bin\debug文件夹中的可执行文件以及应用程序本身。我有一张照片需要澄清,但显然没有足够的声誉来发布它。感谢您并对前面的混淆表示抱歉。

通常您可以使用
环境.GetFolderPath
()来提供您所需要的。它并不是万能的,但是如果你需要
桌面
之类的东西,那就足够了

根据.Net的目标版本,公开的版本并不全在那里。结果可能是,你需要的比他们提供的更多,但在你的情况下,听起来并不是这样

如果您需要更多默认设置中未包含的内容,请查看此项目。我肯定还有其他人喜欢它,但它比默认的BCL版本稍多一些,直接使用API。这至少是一种可以阅读和学习的东西(并且可以从vb中翻译。使用在线翻译,非常快速)。我还没有看过,但看起来你正在学习这个c#/.net的东西,所以它可能会有帮助


查看获取一些标准路径的
环境.GetFolderPath
方法。您只需知道所需的标准路径,它将为您提供当前系统上的绝对路径,在某些情况下,还将为当前用户提供绝对路径。
These folders include your “Favorites”, “Cookies”, system libraries and the like. 
Here is code, including a large number of constant definitions, plus documentation, 
allowing access to and creation of these folders.