2. diel - Prítomnosť .NET 3.5 SP1 a mutex - isim
Program.cs
Kontrola jeho dostupnosti by mala vyzerať teda nejako 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 aplikácie, pre kontrolu jednej inštancie aplikácie. Niečo ešte nemáme hotové, ale to časom dopíšeme. Nechcem prebiehať z jednotlivých tried, aby sme sa v tom potom nestratili. Viac tu: 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();