我正在编写需要能够从usb运行的ac#app,并启动安装到usb的其他程序.不一定是它正在运行的计算机.我通过以下方式启动这些应用程序:
Process.Start("notmyprogram.exe");
Run Code Online (Sandbox Code Playgroud)
这工作得很好但是我发现这只有在notmyprogram.exe.安装到计算机硬盘驱动器时才有效.如果我想运行一个未安装在计算机上的程序,而是运行usb,我必须直接调用它,如下所示:
Process.Start("D:\\Programs\\notmyprogram\\applicationinstalledonusb.exe");
Run Code Online (Sandbox Code Playgroud)
D:我的操作系统分配的字母在哪里.但是,显然驱动器号每台计算机都会更改,它不会一直是D.我的应用程序位于usb上,所以我的问题是:有没有办法找到我的exe运行的驱动器号,所以我可以将目录附加到驱动器号的结尾?或者也许我只是以错误的方式去做,并且有更有效的方法来实现这一目标?
Kaf*_*Kaf 10
试试这个(使用System.IO):
string root = Path.GetPathRoot(System.Reflection.Assembly.GetEntryAssembly().Location);
Run Code Online (Sandbox Code Playgroud)
此外,您可以使用Path.GetFullPath()代替Path.GetPathRoot()并从字符串中删除不需要的部分,而无需对文件夹名称进行硬编码
| 归档时间: |
|
| 查看次数: |
5986 次 |
| 最近记录: |