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.

Reply via email to