Zpět na seznam článků     Číst komentáře (1)     Verze pro tisk

C# tipy #1 - Spuštění aplikace při startu počítače

Autor: sukovanej   
11.11.2012

V tomto článku si ukážeme, jak s pomocí registrů v jazyce C# nastavíme spouštění aplikace při startu počítače.


Jak již bylo nadhozena v popisku článku, ukážeme si, jak nastavit spouštění naší aplikace po startu systému. Budeme to provádět přes registry. Vytvořte si rovnou nový projekt a pojďme programovat !

Práce s registry

Pro práci s registry použijeme třídu RegistryKey z jmenného prostoru Microsoft.Win32. Dále budeme potřebovat adresu registru, který obsahuje adresy souborů spouštějících se po startu systému. Pravděpodobně bude adresa takováto :

Adresa
  1. SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run

Nyní už můžeme vytvořit instanci třídy, která s registrem bude pracovat.

Kód
  1. string add = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";
  2. RegistryKey RegistryKey = Registry.CurrentUser.OpenSubKey(add, true);

Čtení informací

Při spuštění aplikace bychom asi chtěli vědět, jestli už v registrech informace o tom, že se má naše aplikace spouštět při startu počítače, není. V naší aplikaci budeme spuštění při startu systému nastavovat pomocí zaškrtávacího pole, takže zdrojový kód pro proceduru Load našeho formuláře bude vypadat takto.

Load
  1. if (RegistryKey.GetValue(Application.ProductName) == null)
  2. {
  3.    checkBox1.Checked = false;
  4. }
  5. else
  6. {
  7.    checkBox1.Checked = true;
  8. }

Pro nastavení nové hodnoty má třída RegistryKey metodu SetValue(string name, object value), kde první parametr je název aplikace(nebo obecně nějaký identifikátor) a druhý je adresa aplikace. Obecně potom můžeme použít kód níže.

Nastavení hodnoty
  1. RegistryKey.SetValue(Application.ProductName, Application.ExecutablePath.ToString());

Application.ProductName vrací název aplikace, který je nastavitelný v properties naší aplikace a Application.ExecutablePath je adresa spustitelného souboru, tj. např. C:\moje_aplikace.exe.

Vymazání hodnoty je jednodušší. Stačí jeden parametr a to název aplikace, který jsme udali jako první parametr metody SetValue().

Vymazání hodnoty
  1.  RegistryKey.DeleteValue(Application.ProductName, false);

Vytvořte si událostní proceduru změny hodnoty zaškrtávacího tlačítka a vložte do ní kód níže. Ten zajistí samotné nastavování registrů.

Zdrojový kód
  1. if (checkBox1.Checked)
  2. {
  3.    RegistryKey.SetValue(Application.ProductName, Application.ExecutablePath.ToString());
  4. }
  5. else
  6. {
  7.    RegistryKey.DeleteValue(Application.ProductName, false);
  8. }

A je to hotové ! Pokud si najdete editor registrů a příslušnou cestu, uvidíte tam svoji aplikaci.


Líbil se Vám článek?
Budeme potěšeni, pokud vás zaujme také reklamní nabídka

Social Bookmarking

     





Hodnocení/Hlasovalo: 2.3/10

1  2  3  4  5    
(známkování jako ve škole)