想象一下,我有一个用C#和.NET制作的图片查看器应用程序。我已经设置了首选应用程序来查看图片以使用C#应用程序。
我想以某种方式让我的程序知道它被调用的位置。我怎样才能做到这一点?
答案 0 :(得分:3)
如果您使用它通过shell关联查看图片,您只需检查命令行中传递的图片文件名即可。您可以使用Environment.GetCommandLineArgs获取第一个文件名:
// Should check to make sure there is at least one filename passed first...
string imageFilename = Environment.GetCommandLineArgs[1];
string directory = System.IO.Path.GetDirectoryName(imageFilename);
如果你想要工作目录,只需在启动时检查Environment.CurrentDirectory ...
答案 1 :(得分:0)
我认为您可以使用Environment.CurrentDirectory
答案 2 :(得分:0)
应用程序的当前目录(Environment.CurrentDirectory)可以在执行期间更改。此外,当前目录可能不是应用程序所在的目录,例如,如果用户通过指定可执行文件的绝对路径从任意目录中的命令行运行它。
如果您真的想要应用程序的“当前目录”,请使用Environment.CurrentDirectory,但如果您想知道应用程序的位置,可以使用以下方法:
System.Windows.Forms.Application.ExecutablePath (如果运行WinForm应用程序)
System.Windows.Forms.Application.StartupPath (如果运行WinForm应用程序)
System.Reflection.Assembly.GetEntryAssembly()位置: