这是.NET应用程序在启动时自动运行的适当方式吗?

Owe*_*enP 2 .net registry

我正在通过重构他们所从事的大型项目来教授更好的实践.该应用程序的当前功能之一是在Windows启动时启动应用程序的选项.目前,应用程序使用Run注册表项完成此操作:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
Run Code Online (Sandbox Code Playgroud)

我以前没有必要实现这个功能,所以我不确定这是否是在启动时运行应用程序的"最佳"方式.访问此注册表项是大多数用户将拥有的吗?

是否更好地将应用程序的快捷方式放在指示的文件夹中Environment.GetFolderPath(SpecialFolder.Startup)?似乎从.NET创建快捷方式是一种hacky,所以我不确定这是更好的.

编辑:

根据目前的回复,很明显我遗漏了一些重要的东西."以Windows启动"行为是可选的,是程序选项对话框的一部分.用户在使用应用程序时多次切换它是有效的(虽然很愚蠢).

Bri*_*sbe 5

这一切都取决于申请的意图.如果应用程序适用于高级用户,包括在程序中更改该注册表项的简单方法,或者意味着不应删除的企业解决方案,则注册表项选项是一个很好的选择.如果它适用于普通用户,并且没有简单的方法来更改该设置,请使用Startup文件夹.

在您的特定情况下,使用注册表项是完全正常的,这要归功于能够轻松改变事物.