我在一家IT公司工作,我们都携带闪存驱动器,这些驱动器上有最常用的程序。在业余时间,我希望创建一个主菜单"项目,这是一种有趣和方便的方式来访问这些文件。我正在使用Visual Studio 2013和使用可视化C#窗体来创建它。我遇到了一个障碍,但我似乎无法找到解决方法。我不熟悉C#,但我需要在Windows窗体上打开一个文件按钮而不指定它来自哪个驱动器。我知道我必须指定一个路径,但由于这些将存储在我和我的同事的闪存驱动器上,我无法预见路径将始终以E:开头。根据驱动器插入的USB插槽,它可以是N:或F:等。我在下面提供了一个例子:
使用我目前所知的我使用以下代码行打开文件: System.Diagnostics.Process.Start(" C:/ Users / Myname / Desktop / Asmodeus / Anti-Virus / Anti-Virus Installers / avast_free_antivirus_setup.exe");
有没有办法可以让文件打开 System.Diagnostics.Process.Start(" Asmodeus / Anti-Virus / Anti-Virus Installers / avast_free_antivirus_setup.exe"); 或者那种性质的东西?
提前致谢。
当我先前提出问题时,肯定会有一些错误的沟通。我想要做的是通过使用相对路径单击Windows窗体上的按钮打开可执行文件。我无法指定绝对路径,因为应用程序将从闪存驱动器运行,因此将根据当前插入的USB插槽而改变。
我希望完成的是插入一行代码,这些代码允许我打开位于\ bin \ debug文件夹中的可执行文件以及应用程序本身。我有一张图片需要澄清,但显然没有足够的声誉来发布它。谢谢你,对于早先的困惑感到抱歉。
答案 0 :(得分:0)
通常,您只需使用Environment.GetFolderPath
(MSDN)即可获得所需内容。它绝对不能完成所有事情,但如果你需要Desktop
之类的东西,那就足够了。
根据.Net的目标版本,SpecialFolders曝光不是全部。可能会发现你需要的东西比他们提供的多,但在你的情况下,它听起来并不像它。
如果您需要的更多内容未在默认范围内涵盖,请查看此项目。我确定还有其他人喜欢它,但它比默认的BCL版本更多,直接使用API。它至少是一些阅读和学习的东西(并从vb翻译..使用在线翻译,非常快)。我没有看过它,但似乎你正在学习这个c#/ .net thingy,所以它可能会有所帮助
This article is about accessing Windows special folders.
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.