启动位置与应用程序不同';的位置

本文关键字:位置 应用程序 启动 | 更新日期: 2023-09-27 18:19:42

我需要在windows启动时启动我的c#应用程序。我尝试使用以下两个选项添加带有应用程序exe路径的注册表项。

System.Environment.CurrentDirectory
Directory.GetCurrentDirectory()

但当窗口启动时,文件夹路径显示为system32目录,而不是应用程序的目录。因此,依赖于当前目录的代码无法正常工作。如何解决这个问题来实现对程序的文件夹??我搜索了相关的帖子,但没有找到解决方案。

谢谢你,


这个代码对我有效:

Directory.GetParent(System.Windows.Forms.Application.ExecutablePath)

这提供了放置应用程序的目录。

非常感谢。

启动位置与应用程序不同';的位置

我认为您需要在这里使用exe路径,而不是当前目录。查看System.Reflection.Assembly.GetExecutingAssembly,然后查看Assembly.Location

var myDir = AppDomain.CurrentDomain.BaseDirectory;

MSDN 上的AppDomain.CurrentDomain.BaseDirectory

您可以从当前程序集的位置检索路径:

var assembly = System.Reflection.Assembly.GetEntryAssembly();
var curDir = System.IO.Path.GetDirectoryName(assembly.Location);

您可以尝试

System.Reflection.Assembly.GetExecutingAssembly().Location
System.IO.Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath);

希望这能有所帮助!