代码之家  ›  专栏  ›  技术社区  ›  OwenP

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

  •  2
  • OwenP  · 技术社区  · 16 年前

    我正在通过重构一个他们工作过的大项目来教别人更好的实践。应用程序的当前功能之一是在Windows启动时启动应用程序的选项。当前,应用程序使用运行注册表项完成此操作:

    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
    

    我以前不需要实现这个特性,所以我不确定这是否是使应用程序在启动时运行的“最佳”方法。访问这个注册表项是大多数用户都会有的吗?

    将应用程序的快捷方式放置在 Environment.GetFolderPath(SpecialFolder.Startup) 是吗?从.NET创建快捷方式似乎有点黑客,所以我不确定这是否更好。

    编辑 :

    根据目前的反应,很明显我遗漏了一些重要的事情。“从Windows开始”行为是可选的,也是程序选项对话框的一部分。用户在使用应用程序时多次切换是有效的(尽管很愚蠢)。

    2 回复  |  直到 16 年前
        1
  •  5
  •   Brisbe    16 年前

    这完全取决于申请的意图。如果应用程序是为高级用户设计的,在程序中包含一种更改注册表项的简单方法,或者是作为不应删除的企业解决方案设计的,则注册表项选择是一个不错的选择。如果它是针对普通用户的,并且没有简单的方法来更改该设置,请使用startup文件夹。

    在您的特定情况下,使用注册表项是非常好的,这要归功于能够轻松地修改内容。

        2
  •  0
  •   Kostas Konstantinidis    16 年前

    如果部署是通过MSI完成的,那么有一种方法可以通过Visual Studio从部署项目的配置中完成部署。

    当然,这最终会将应用程序的快捷方式放在用户的启动文件夹中,在不使用MSI部署的情况下,也可以通过编程来实现。

    推荐文章