Reputation: 105
I'm making a windows forms application in c# that will start in windows start up . User also can start the application from its icon on desktop.I want the application to be minimized in system tray if it was started from windows start up and to be in normal windows state if started by user clicking on its shortcut icon. Is there a a way to detect whether the application started by user or by start up ?
i am using this code to make application appear on startup
regesiterykey.SetValue("MyApp", Application.ExecutablePath.ToString());
Upvotes: 4
Views: 3312
Reputation: 678
Command line parameter is certainly better way, but also the trick with the current directory can be used. If you check program current directory, program started from startup has Windows system directory, unlike manual executing which has a folder where exe file is located.
Upvotes: 0
Reputation: 888283
You can add a command line argument to the Startup shortcut, then check for that argument and minimize the program.
You can probably also set the shortcut to open minimized. (Depending on your GUI) (But not with the registry)
Upvotes: 16
Reputation: 45109
Use instead this one:
regesiterykey.SetValue("MyApp /minimized", Application.ExecutablePath.ToString());
Upvotes: 2
Reputation: 2701
when you put your program in the start up, pass in an additional parameter like "-startup", For normal user click, do not pass in this flag. as far as I know, it is very hard to detect it from run time.
Upvotes: 0