Using the registry for automatic startup
-
Hi, I was wondering if anyone knew how to put your application into the msconfig startup folder using the registry. I tried using the following code but for some reason it isnt working for me. it will work when i debug, but when i publish the application it doesnt work.
Private Sub addstart()
registrykey = CreateObject("WScript.shell") registrykey.RegWrite("HKEY\_CURRENT\_USER\\SOFTWARE\\MICROSOFT\\WINDOWS\\CURRENTVERSION\\RUN\\" & App, filepath) End Sub Private Sub removeStart() On Error Resume Next registrykey = CreateObject("WScript.shell") registrykey.RegDelete("HKEY\_CURRENT\_USER\\SOFTWARE\\MICROSOFT\\WINDOWS\\CURRENTVERSION\\RUN\\PEM beta.exe") End Sub
Is there a better way to do this? Thanks
-
Hi, I was wondering if anyone knew how to put your application into the msconfig startup folder using the registry. I tried using the following code but for some reason it isnt working for me. it will work when i debug, but when i publish the application it doesnt work.
Private Sub addstart()
registrykey = CreateObject("WScript.shell") registrykey.RegWrite("HKEY\_CURRENT\_USER\\SOFTWARE\\MICROSOFT\\WINDOWS\\CURRENTVERSION\\RUN\\" & App, filepath) End Sub Private Sub removeStart() On Error Resume Next registrykey = CreateObject("WScript.shell") registrykey.RegDelete("HKEY\_CURRENT\_USER\\SOFTWARE\\MICROSOFT\\WINDOWS\\CURRENTVERSION\\RUN\\PEM beta.exe") End Sub
Is there a better way to do this? Thanks
RyJaBy wrote:
how to put your application into the msconfig startup folder
And just what do you mean by "msconfig startup folder"?? What do you mean by "it doesn't work"? The Run key values are all command lines that execute only when a user logs in. The name/value pair you create in the Run key must have a unique name and its value must be a valid command line that would work just as if you copied it into the Start/Run box.
A guide to posting questions on CodeProject[^]
Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
2006, 2007, 2008
But no longer in 2009... -
RyJaBy wrote:
how to put your application into the msconfig startup folder
And just what do you mean by "msconfig startup folder"?? What do you mean by "it doesn't work"? The Run key values are all command lines that execute only when a user logs in. The name/value pair you create in the Run key must have a unique name and its value must be a valid command line that would work just as if you copied it into the Start/Run box.
A guide to posting questions on CodeProject[^]
Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
2006, 2007, 2008
But no longer in 2009...If you go to run and you type in msconfig you will get a window,"system configuration utility" that has a tab on it called startup. In the tab is all the applications that run when your computer starts up. When it was working, it would put the name of my application into this list on the startup tab, it does that when i am debugging. When i publish the application and install it on my computer, it doesnt write its name into that list when i tell it to.
-
If you go to run and you type in msconfig you will get a window,"system configuration utility" that has a tab on it called startup. In the tab is all the applications that run when your computer starts up. When it was working, it would put the name of my application into this list on the startup tab, it does that when i am debugging. When i publish the application and install it on my computer, it doesnt write its name into that list when i tell it to.
That tab is just a compilation of the various startup locations that track which application should launch when a user logs in. Those include the Run keys under HKEY_LOCAL_MACHINE and HKEY_CURRENT_USER as well as the shortcuts that appear in "Documents and Settings\All Users\Start Menu\Programs\Startup" and "Documents and Settings\\Start Menu\Programs\Startup". Your code won't work for a list of reasons. The first of which is that you have
On Error Resume Next
in there and it's eating your error messages. Your code should look like this:Set wshShell = WScript.CreateObject("WScript.shell")
wshShell.RegWrite "HKCU\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\" & App, filepathA guide to posting questions on CodeProject[^]
Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
2006, 2007, 2008
But no longer in 2009... -
Hi, I was wondering if anyone knew how to put your application into the msconfig startup folder using the registry. I tried using the following code but for some reason it isnt working for me. it will work when i debug, but when i publish the application it doesnt work.
Private Sub addstart()
registrykey = CreateObject("WScript.shell") registrykey.RegWrite("HKEY\_CURRENT\_USER\\SOFTWARE\\MICROSOFT\\WINDOWS\\CURRENTVERSION\\RUN\\" & App, filepath) End Sub Private Sub removeStart() On Error Resume Next registrykey = CreateObject("WScript.shell") registrykey.RegDelete("HKEY\_CURRENT\_USER\\SOFTWARE\\MICROSOFT\\WINDOWS\\CURRENTVERSION\\RUN\\PEM beta.exe") End Sub
Is there a better way to do this? Thanks
-
Remove the demon "On Error Resume Next" and you will be able to see what the problem is. Most probably, you have an access issue, the account under which the code runs must have permissions to modify the registry key.
Yeah, there's a lot more wrong with his code than access permissions to the Run key... I think I found at least 5 errors in his two lines of code.
A guide to posting questions on CodeProject[^]
Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
2006, 2007, 2008
But no longer in 2009... -
Yeah, there's a lot more wrong with his code than access permissions to the Run key... I think I found at least 5 errors in his two lines of code.
A guide to posting questions on CodeProject[^]
Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
2006, 2007, 2008
But no longer in 2009...Is going through the registry even a good way to try to have your application run on startup? Or should I be trying to find a different way to do this. Maybe is there a way to, using code, create a shortcut in the startup folder? and would you be able to delete this shortcut using code, so the user would not have to do anything except check a box? I would like the user to be able to select an option that would cause the application to start automatically. Thanks
-
Is going through the registry even a good way to try to have your application run on startup? Or should I be trying to find a different way to do this. Maybe is there a way to, using code, create a shortcut in the startup folder? and would you be able to delete this shortcut using code, so the user would not have to do anything except check a box? I would like the user to be able to select an option that would cause the application to start automatically. Thanks
You're already doing it. You either put the shortcut in one of the four startup locations mention in my previous post, or you don't bother with it at all.
A guide to posting questions on CodeProject[^]
Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
2006, 2007, 2008
But no longer in 2009... -
You're already doing it. You either put the shortcut in one of the four startup locations mention in my previous post, or you don't bother with it at all.
A guide to posting questions on CodeProject[^]
Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
2006, 2007, 2008
But no longer in 2009...