我在vs2010项目中添加了一个带有一堆图像的文件夹。 我想通过代码引用这个文件夹。 由于最终编程可能会部署到不同的位置绝对路径不会做!
获取文件夹相对路径的标准方法是什么?
我对此很新,很抱歉,如果我问的话太明显了! 谢谢。
答案 0 :(得分:2)
您可能希望将图像添加到资源文件中,这样您就可以直接使用图像而无需编写代码来查找文件。
无论如何,您可以获得应用程序路径:
string appFolder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
然后您可以使用Path
类中的方法,例如Path.Combine
来引用该文件夹。
答案 1 :(得分:1)
资源是一个好主意。另一种方法是在安装应用程序时将Application的已安装文件夹位置写入Registry。 或执行类似
的操作string dir = System.IO.Path.GetDirectoryName(Application.ExecutablePath);
答案 2 :(得分:0)
如果这些图像与您的可执行文件相关,那么您可以使用main()中的argv [0](如果是命令行),或者更好地遵循MSDN的建议:
按照惯例,argv [0]是命令 用于调用程序的程序。 但是,有可能产生一个 使用CreateProcess的过程,如果你 同时使用第一个和第二个 参数(lpApplicationName和 lpCommandLine),argv [0]可能不是 可执行名称;使用GetModuleFileName 检索可执行文件名称,以及 它完全合格的道路。