Run program at startup

rumbu rumbu at rumbu.ro
Fri Feb 8 14:29:45 PST 2013


On Friday, 8 February 2013 at 15:08:06 UTC, Dicebot wrote:
> On Friday, 8 February 2013 at 15:06:24 UTC, SaltySugar wrote:
>> How to run my program when computer starts?
>
> This question is irrelevant to D and is operating system 
> specific. It is better suited for stackoverflow & Co.

If you want D to become popular, that's not an appropiate answer 
in the d.learn section. I'm sure that if someone will ask the 
same thing in the C# section of MSDN will obtain an answer, not a 
redirect to an external forum.

---

To run at startup for all users, the most used way for a program 
to do this is to create a string value in the following registry 
keys:
  - HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current 
Version\Run if the program will run every time.
  - HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current 
Version\RunOnce if the program will run once.

In D, this will look like this:

import std.windows.registry;


void runMeAtStartupEveryTime(string exeName)
{
	auto key = 
Registry.localMachine.getKey(`SOFTWARE\Microsoft\Windows\CurrentVersion\Run`, 
REGSAM.KEY_SET_VALUE);
	key.setValue("runme", exeName);
}


int main(string[] args)
{
	runMeAtStartupEveryTime(args[0]);
	
	return 0;
}

Of course, you must have the appropriate rights to do this. This 
approach is Windows specific, I don't have any hint about another 
OS.


More information about the Digitalmars-d-learn mailing list