A .Net library to add or remove your program to the startup list as well as detecting the startup session. Supporting Windows XP+ with and without administrator rights.
This library is available as a NuGet package at nuget.org.
--OR--
You can always donate your time by contributing to the project or by introducing it to others.
First you need to create a StartupManager
object for your program. I recomment doing so by defining a new public field or property in the Program
class of your application.
public static StartupManager Startup =
new StartupManager("SAMPLE PROGRAM", RegistrationScope.Local);
You can also specify if your program needs administrative rights, or if you prefer the registry method to register the rule as well as other settings using other constractor overloads. Then, using this object, you can query your application startup status, register and unregister your application for auto start and detect if the current session started as startup.
Check the 'UACHelper.Sample' project for basic usage of the class.
StartupManager.IsStartedUp
This property indicates if the current session started automaticallyStartupManager.Register()
Using this method you can register your program for auto start. You can also specify required arguments to be send to your application.StartupManager.Unregister()
Unregisters the startup rule.
StartupManager.CommandLineArguments
Returns the arguments used to start the program. Except the auto startup indicator argument, if presentedStartupManager.WorkingDirectory
Can be used to set or get the expected working directory to be used for registering the ruleStartupManager.IsElevated
Returns aBoolean
indicating the current elevation status of the application.
The MIT License (MIT)
Copyright (c) 2016-2020 Soroush
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.