Can a startup process be delayed? Can the order of startup processes be changed?

Solution 1:

You have many possible solutions.

Perhaps the simplest one would be to remove these items out of start-up and run them from the Task Scheduler, where the "At log on" trigger has a "Delay task for" parameter.

See How to delay program startup with Task Scheduler on Windows 10/8/7.

Solution 2:

Looking into the the two products mentioned, if configured to run at start-up they make use of the "Run" key for the current user.

In this case they values are as follows:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
"Discord"="C:\\Users\\<user>\\AppData\\Local\\Discord\\Update.exe --processStart Discord.exe"
"DisplayFusion"="\"C:\\Program Files (x86)\\DisplayFusion\\DisplayFusion.exe\""

In the documentation referenced above it says:

If more than one program is registered under any particular key, the order in which those programs run is indeterminate.

Therefore you will need to manually orchestrate the starting of these two applications to get one to start before the other in a deterministic way.

One option would be to disable both applications from starting after logon for the current user using Task Manager: Disable start-up using Task Manager

This disabled the processes from being launched at start-up by configuring the following registry values under:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run

Task Manager Run key management

Using this method, even if the application re-created the 'Run' key values on update for example, they should remain disabled for the user in question.

I would suggest then create a batch file referenced from the same 'Run' key that launches the applications in the preferred order.