我正在写一个需要能够从USB运行的C#应用程序,并启动安装到USB的其他程序。不一定是它正在运行的计算机。我做启动这些应用程序:我怎样才能找到我的EXE运行的驱动器?
Process.Start("notmyprogram.exe");
这个伟大工程,但我发现,如果notmyprogram.exe.
安装到计算机硬盘驱动器这仅适用。如果我想运行没有安装在计算机上,而是到USB的程序,我必须直接调用它,就像这样:
Process.Start("D:\\Programs\\notmyprogram\\applicationinstalledonusb.exe");
凡D:
是我的操作系统分配的盘符。但是,显然每个计算机的驱动器号更改,它不会总是D.我的应用程序位于USB,所以我的问题是:有什么方法可以找到我的EXE是从哪个驱动器号运行,所以我可以将目录追加到盘符的结尾?或者,也许我只是以错误的方式去解决问题,还有更高效的方法来完成这个任务?
@AlexeiLevenkov我已经删除不需要的部分一直在寻找这最后一天,所以通常我是最后的手段,因为我发现如果我自己弄清楚,我学得更好。如果已经得到解答,我表示歉意,但我找不到它。 – Halter
[如何在C#中的相对路径中获取文件]的可能重复(http://stackoverflow.com/questions/3259583/how-to-get-files-in-a-relative-path-in-c-sharp ) –
我认为这应该是你在找什么:http://msdn.microsoft.com/en-us/library/system.appdomain.basedirectory(v=vs.110).aspx – mao47