【问题标题】:How to make my WPF application to running when Windows OS is run c# [duplicate]如何在运行 Windows 操作系统时使我的 WPF 应用程序运行 c# [重复]
【发布时间】:2016-03-08 09:02:22
【问题描述】:

我有需要在 Windows 操作系统启动时工作的应用程序。当 Windows 操作系统像 Skype 一样运行时,是否可以让我的 WPF 应用程序运行。我使用 .NET Framework 4.5.2。

对于我的应用程序信息,只需制作 QR 码并使用标签打印机打印。拥有一些用户界面并不重要。

【问题讨论】:

    标签: c# .net wpf windows


    【解决方案1】:

    最常见的方式有:

    1. 使其成为一项服务。您提到 WPF,但随后您提到您不需要用户界面。默认情况下服务不能有用户界面,如果你需要一个,你需要创建一个辅助应用程序:处理这个最常见的方法是使用带有命令行参数的相同可执行文件(一个作为服务启动,没有UI,以及一个作为与服务通信的助手应用程序启动的应用程序)。
    2. 让它成为任务调度程序上的一个任务,让它在启动时运行使用触发器(有一个On startup 触发器)。你可以使用命令行:

      SCHTASKS /Create /TN YourTaskName /TR C:\Path\To\Application.exe /MO ONSTART
      

      (你可以使用ONLOGON而不是ONSTART,如果这对你更好)

    3. 将您的应用程序添加到注册表的Run 列表中,例如[HKCUHKLM]\Software\Microsoft\Windows\CurrentVersion\Run

    还有其他的(开始菜单等),但这三个是最常见的

    【讨论】:

      【解决方案2】:

      Jcl 提到了服务选项。还有很好的 Startup 文件夹选项:

      %programdata%\Microsoft\Windows\Start Menu\Programs\Startup

      在此处放置一个快捷方式,您的程序将在 Windows 启动和用户登录时启动。如果您将其放入所有用户的 Startup 文件夹(通用),您可能需要管理权限。

      【讨论】:

      • 我不会过多地依赖启动文件夹...虽然它仍然存在于 Windows 10 中,但它很好地隐藏在漫游配置文件或程序数据文件夹中,根本无法直接访问。我不会依赖它在未来版本的 Windows 上存在(也就是说:是的!今天它仍然是一个选项)
      • @Jcl 是的,这只是一个选择。当我需要一种快速的方法来自动启动程序,但由于部署站点缺乏管理权限或其他原因而不想处理服务或任务调度程序时,我经常使用它。
      【解决方案3】:

      执行以下操作:

      1. 点击开始按钮
      2. 点击控制面板
      3. 点击系统和维护
      4. 点击管理工具
      5. 选择任务计划程序

      或者只需在开始菜单中输入“任务计划程序”

      您可以在此处创建新任务。作为触发器,您可以选择 "On Start" 或类似的东西。

      作为操作,您将为您的 WPF 应用程序选择可执行文件。

      【讨论】:

        猜你喜欢
        • 2013-12-09
        • 1970-01-01
        • 2021-06-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-08
        • 2020-05-29
        • 1970-01-01
        相关资源
        最近更新 更多