无需登录即可在系统启动时启动应用程序

Start an application at system start without login

我们有一个新服务器 运行ning,我们有一些新程序正在执行导入例程。到目前为止一切顺利...但是 有一个程序被放入自动启动文件夹 。所以 它不会 运行 直到管理员登录,如果我们注销它就会停止

我想将它放入一个单独的会话中,这样它就可以在没有任何交互的情况下工作,只需在启动时使用任务计划程序启动它即可。这是正确的方法吗?以后登录再退出安全吗?

非常感谢!

编辑:如果运行ning,应用程序在任务栏中显示为符号,可以通过此配置。如果我改变了,我必须知道什么?

编辑: 这不是我的应用程序,我无法将其重写为服务。

您需要 运行 您的程序作为 Windows 服务。一种方法是使用 sc.exe 程序:

> sc create <new_service_name> binPath= "c:\myapp\myapp.exe"

你可以阅读它here

您需要将您的应用程序一分为二。

要允许它在没有用户会话的情况下 运行,您需要 windows 服务。那应该处理所有背景的东西。然后你就可以注册这个服务,并设置它在系统启动时启动。

要使其具有 UI,并显示在通知区域,您需要 windows 应用程序。这将像往常一样自动启动,并将与服务通信 - 例如,通过命名管道。

虽然 运行 没有用户会话的 UI 应用程序仍然(几乎)不可能,但它只是为了向后兼容而维护,并且已经显示出很多问题。将来它可能会被完全删除,因为它破坏了很多合同。不要依赖这样的技巧。

我在启动时使用任务调度程序成功添加了应用程序。登录和注销不会退出应用程序,但不会显示任何符号。请在我的附带问题中添加详细信息,我会将您的答案标记为已接受。

编辑:最终使用了这个。如果必须配置,我会在任务管理器中停止应用程序,然后按 link 重新启动它。之后我退出应用程序并通过任务计划程序手动启动重新启动它。

我无法使 "sc create" 命令工作。相反,我使用 regedit 手动编辑注册表。我在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services.

中添加了一个新密钥

我使用以下页面来确定所需的参数及其值。请注意,名称不映射。

https://docs.microsoft.com/en-us/windows-hardware/drivers/install/inf-addservice-directive

老问题,但对于任何在这里绊倒的人。使用srvany将程序设置为自定义服务。

请注意,当您使用 dropbox、googledrive 等执行此操作时,您需要停止服务,然后正常打开程序以进行密码、更新等更改

下面是一个足够好的介绍。

https://www.iceflatline.com/2015/12/run-a-windows-application-as-a-service-with-srvany/

在此处下载工具包

https://www.microsoft.com/en-us/download/details.aspx?id=17657

将用户应用程序转换为服务并使用 Regsvr32installutil.exe 进行注册。它将使用 SYSTEM 用户帐户启动服务。这是一个高权限帐户。 注意:您不能 运行 任何基于 Window 的应用程序。甚至只有一条消息 window.

这是一个老问题,但我最近用另一种方式解决了...

(在我使用 scheduled-task 启动之前,但这给我带来了很多软件的各种问题...)

有些程序也出于各种原因必须 运行 在用户级别...甚至在特定用户会话中...

所以我发现最好的方法是使用 Sysinternal/Autoruns 之类的工具将 auto-logon 编程给特定用户(这是一个注册表设置)......并在 startup-folder 该用户(或任何其他 "autorun/autolaunch" 任务)... 运行 一个首先锁定屏幕的脚本... 接下来 运行 是其他预期程序...将 运行 在该用户个人资料下...

因此您可以选择标准用户或管理员...甚至可以在管理员模式下从标准用户启动程序...

希望能帮到你...
"hack" 解决了我启动应用程序的许多问题...

我还使用了任务调度程序在系统启动时创建应用程序。需要注意的是,如果你想用于挖矿,你必须在“设置”中禁用一个选项,其中说如果应用程序连续持续超过三天,它将结束。

效果真的很棒!