Diskuze: Spustenie programu pri štarte vs. spustenie užívateľom
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Nejak som to nepochopil nepotrebujem len jednu inštanciu programu ale potrebujem zistiť ako bol program spusteny.
Podle mě, ať je program spuštěný uživatelem, nebo automaticky po startu PC, bude stejně v počítači vidět jako spuštěný uživatelem, protože by musel mít nastaveno, aby se nějaká instance spouštěla pod systémovým účtem, aby byl vidět jinak.
To ani on ne Asi se chtěl pochlubit, že umí nové cizí slovíčko.
Jestliže je program spuštěný pod účtem uživatele, je to stejné, jako by ho spustil uživatel a nezáleží na způsobu (z uživatelského hlediska), jakým došlo ke spuštění. Výjimku tvoří Windows Service, která nemá interaktivní desktop (ačkoliv desktop mít musí).
Takže jediný způsob, co ti zbývá, je použít explicitní command line parametr nebo launcher, který ten aplikaci s takovým parametrem spustí.
Ďakujem za vaše rady, už som to vyriešil.
Pridal som ku ceste k súboru v registroch CMD parameter.
path = Application.ExecutablePath.Replace("/", "\\"); //path to application
dpath += " s"; //file path + command line parameter "s"
StartOnBoot.SetValue("StartProgram", path); //set to registry
Teraz, keď sa zapne program iba kontrolujem či sa spustil s nejakým CMD parametrom, ak áno, nastaví sa premenná na true, čo indikuje, že program je zapnutý automaticky pri štarte.
if ( args.Length>0 &&args[0].Equals("s"))
{
LaunchedOnStartup = true;
}else
{
LaunchedOnStartup = false;
}
Zobrazeno 6 zpráv z 6.