我在一家IT公司工作,我们都随身携带着闪存驱动器,这些闪存驱动器在them.In上有我们最常用的程序。我希望创建一个“主菜单”项目,这是一种有趣和方便的方式来访问这些文件。我正在使用Visual Studio2013和visual C# windows窗体创建此应用程序。然而,我遇到了一个障碍,我似乎找不到解决办法。我对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文件夹中的可执行文件以及应用程序本身。我有一张需要澄清的图片,但显然没有足够的声誉来发布它。谢谢你,并为之前的混乱感到抱歉。
发布于 2014-09-16 12:57:55
通常,您可以只使用Environment.GetFolderPath (MSDN)来满足您的需求。它不能做所有的事情,但是如果你需要Desktop或者类似的东西,那就足够了。
根据.Net的目标版本不同,公开的SpecialFolders并不都在那里。你可能需要比他们提供的更多,但在你的情况下听起来并不是这样。
如果您需要的更多内容没有包含在默认设置中,请查看此项目。我相信还有其他类似的,但它做的比默认的BCL版本稍多一点,直接使用API。它至少是一些值得阅读和学习的东西(并从vb翻译过来)。使用在线翻译器,非常快)。我还没有看过它,但是看起来你正在学习这个c#/.net的东西,所以它可能会有帮助
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. https://stackoverflow.com/questions/25860688
复制相似问题