我有一个C#winForms程序,旨在从多台PC上运行USB驱动器。当我将USB驱动器连接到另一台PC时,驱动器号更改。如何让我的驱动器号在所有PC上保持一致,或使我的程序真正“可移植”。我需要驱动器号,因为我有一个SQLite数据库数据源指向某个目录。我还有从特定目录打开的PDF文件与特定的驱动器号。感谢
答案 0 :(得分:2)
您可以获得正在执行的装配路径。
string path = (new System.Uri(Assembly.GetExecutingAssembly().CodeBase)).AbsolutePath;
从那里,您可以获得驱动器号(路径根):
string drive = Path.GetPathRoot(path);
如果您的文件与可执行文件位于同一目录中,则可以获取如下文件路径:
string directory = Path.GetDirectoryName((new System.Uri(Assembly.GetExecutingAssembly().CodeBase)).AbsolutePath);
string databaseFile = Path.Combine(directory, "filename.dbf");
答案 1 :(得分:0)
我猜您需要申请目录。
string path = System.IO.Directory.GetCurrentDirectory();
(如果您致电SetCurrentDirectory()
,请使用此:System.IO.Path.GetDirectoryName(new System.Uri(System.Reflection.Assembly.GetExecutingAssembly().CodeBase).LocalPath);
)
你想要你的驱动器吗? (驾驶总是1个字母)
path.Substring(0, 2);
如果不是一个字母,
path.Substring(0, path.IndexOf('\\') + 1);