Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Pouze tento týden sleva až 80 % na e-learning týkající se Swiftu. Zároveň využij výhodnou slevovou akci až 30 % zdarma při nákupu e-learningu - více informací.
swift week + discount 30

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

Program.cs

Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

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();

 

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::
Článek pro vás napsal David Jančík
Avatar
Uživatelské hodnocení:
Ještě nikdo nehodnotil, buď první!
Autor je vášnivý programátor. Nezná slovo "nelze", nebojí se zkoušet nepoznané a pronikat do nových technologií.
Aktivity

 

 

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í!