软件开机自启动的问题 - earlystart

设置软件开机自启动的软件earlystart失效了吗?

按照论坛和网上搜到的方法设置后没效果

【Windows 10】如何调整 Windows 10 软件开机启动顺序(【Windows 10】如何调整 Windows 10 软件开机启动顺序)

求助

如果earlystart失效了,有没有其他软件或者方法可以实现开机后特定的软件先于桌面启动的效果?

1 个赞

通常来说 服务会优先于桌面启动.

你可以使用windows自带的命令sc 把要启动的软件改为服务启动.

也许用系统的Task Scheduler可以?delay时间可以设置。

感谢
延迟时间改为1秒后(最小只能改为1秒吗?)基本上可以满足需要,偶尔还是会先进入桌面再启动软件

sc create Playnite binpath= D:\Game\Playnite\Playnite.FullscreenApp.exe ‪ type= own start= auto displayname= Playnite

感谢
试了下,开机后不显示软件界面,有软件启动声音,任务管理器有软件进程

通常来说,计划任务很多时候优先级可以高于某些服务!
然后呢,计划任务的优先级也是可以调整的,可以做到更高的启动优先级,既然问题已经解决,就不再赘述,可自行查询官方文档!

其实与其 earlystart费那个时间,不如还有个简单而又相对靠谱的办法,看下自己的启动程序,自己写个启动链之类的就行,就是定一下谁先启动,然后后一个程序加个 进程/窗口/控件 的存在判断,判断前一个程序是否启动…其实很好写~,这个比用延迟效率高多了!

本质是快速启动工具,但被论坛网友玩出花了的Claunch 有这功能
只需把他自身添加到自启动,然后其他软件的启动由他安排(在选项事件页面)

麻烦详细说下启动链的设置方法,不会编程,网上查了一天,试了GPT都没解决。 :disappointed_relieved:

GPT上给的脚本,保存为playnite.vbs文件

Set WshShell = CreateObject(“WScript.Shell”)
’ 关闭当前桌面
WshShell.Run “taskkill /f /im explorer.exe”, 0, True

’ 启动 Playnite
PlaynitePath = “D:\Game\Plugins\launchplaynite.vbs” ’ 替换为 Playnite 的实际路径
WshShell.Run Chr(34) & PlaynitePath & Chr(34), 0, False

’ 等待 Playnite 完全启动
Do
Set objWMIService = GetObject(“winmgmts:\.\root\cimv2”)
Set colProcesses = objWMIService.ExecQuery(“Select * from Win32_Process Where Name=‘Playnite.FullscreenApp.exe’”)
If colProcesses.Count > 0 Then Exit Do
WScript.Sleep 1000 ’ 每秒检测一次
Loop

’ 启动桌面
WshShell.Run “explorer.exe”, 0, False

修改注册表

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

shell的值修改为:
wscript.exe “D:\Game\Plugins\playnite.vbs”

修改shell的值比较极端,只启动指定软件,桌面直接不启动了。

修改userinit的值为:
C:\Windows\System32\userinit.exe,wscript.exe “D:\Game\Plugins\playnite.vbs”

修改userinit的值基本可以稳定实现效果。

最后问下修改shell的值后,打开任务管理器 - 运行新任务 - explorer.exe,打开的是文件管理器,只能把shell的值修改为默认才能打开桌面。
在不修改shell值为默认的情况下如何通过任务管理器运行桌面?

1 个赞