【发布时间】:2014-01-10 18:43:17
【问题描述】:
我正在编写一个需要能够从 USB 运行的 c# 应用程序,它会启动安装到 USB 的其他程序。不一定是运行它的计算机。我通过以下方式启动这些应用程序:
Process.Start("notmyprogram.exe");
这很好用,但是我发现这只有在将notmyprogram.exe. 安装到计算机硬盘驱动器时才有效。如果我想运行一个没有安装在电脑上的程序,而是运行到usb,我必须直接调用它,像这样:
Process.Start("D:\\Programs\\notmyprogram\\applicationinstalledonusb.exe");
D: 是我的操作系统分配的字母。但是,很明显,每台计算机的驱动器号都会发生变化,它并不总是 D。我的应用程序位于 USB 上,所以我的问题是:有什么方法可以找到我的 exe 是从哪个驱动器号运行的,这样我就可以将目录附加到驱动器号的结尾?或者,也许我只是以错误的方式去做,并且有更有效的方法来实现这一点?
【问题讨论】:
-
@AlexeiLevenkov 我在最后一天一直在搜索这个,所以通常是我最后的手段,因为我发现如果我自己弄清楚我会学得更好。如果这已经回答了,那么我很抱歉,但我找不到它。
-
我想这应该是你要找的:msdn.microsoft.com/en-us/library/…
-
旁注:这是为您提供结果的搜索查询 - 不确定您使用什么没有找到任何内容:stackoverflow.com/search?q=[c%23]+relative+executable
标签: c#