Letní akce PHP týden
Pouze tento týden sleva až 80 % na kurzy PHP. Lze kombinovat s akcí Letní slevy na prémiový obsah!
Brno? Vypsali jsme pro vás nové termíny školení Základů programování a OOP v Brně!

Lekce 2 - Přítomnost .NET 3.5 SP1 a Mutex - ISIM

Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem.
Vydávání, hosting a aktualizace umožňují jeho sponzoři.

Program.cs

Kontrola jeho dostupnosti by měla vypadat tedy nějak takto:

// Kontrola přítomnosti požadované verze .NET FW
string netSPver = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5").GetValue("SP").ToString();

// Pokud tam hodnota není nebo je 0 zobrazí se zpráva s odkazem na stažení FW a po odpovědi na ni se program vypne
if ((string.IsNullOrEmpty(netSPver)) || (netSPver == "0"))
{
        if (MessageBox.Show("Aplikace vyžaduje .NET Framework min. v.3.5 SP1, který ve vašem počítači nebyl nalezen.\nPřejete si jej nyní stánout? (bez něj aplikaci nelze spustit)", "Chyba", MessageBoxButtons.YesNo, MessageBoxIcon.Error) == DialogResult.Yes)
                System.Diagnostics.Process.Start("http://www.microsoft.com/download/en/details.aspx?id=22");

        return;
}

Mutex aplikace, pro kontrolu jedné instance aplikace. Něco ještě nemáme hotové, ale to časem dopíšeme. Nechci přebíhat z jednotlivých tříd, abychom se v tom pak neztratily. Více zde: http://www.itnetwork.cz/…gle-instance

// Mutex aplikace -> ke kontrole, zda aplikace již neběží. Pokud ano tak vyšle signál, který zobrazí její hlavní okno
bool createdNew = true;
System.Threading.Mutex appMutex = new System.Threading.Mutex(true, "ISIM", out createdNew);

if (createdNew)
{
        // Absence této metody, může způsobit, že se mutex nezapíše a aplikace bude moci být spuštěna vícekrát
        appMutex.ReleaseMutex();
        // Aby byla instance hlavního okna aplikace přístupná ze všady
        Global.OpenForms.mainForm = new MainForm();
        Application.Run(Global.OpenForms.mainForm);
}
else
        Global.SingleInstance.ShowForm();

 

 

Článek pro vás napsal David Jančík
Avatar
Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!
Autor je vášnivý programátor a vizionář. Nezná slovo "nelze", nebojí se zkoušet nepoznané a pronikat do nových technologií.
Předchozí článek
Úvod, externí třídy ve speciální složce - ISIM
Všechny články v sekci
Programujeme vlastní Instant Messenger ::ISIM::
Miniatura
Následující článek
Modifikovaný ListView jako kontakt list a Mutex - ISIM
Aktivity (1)

 

 

Komentáře

Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zatím nikdo nevložil komentář - buď první!