public void vyplnit() { reset(); string[] pr = Rozdelit.Pripony(tbpripona.Text); string mpripona = pr[0].ToLower(); var info = ASC.Nacti(mpripona); tbprogram.Text = info.program; tbparam.Text = info.parametr; tbtyp.Text = info.typ; tbikona.Text = info.ikona; tbindex.Text = info.poradi.ToString(); //zakazane pripony pro asociaci bool p1 = info.misto == "UP"; bool p2 = info.misto == "UO"; bool p3 = mpripona != "lnk"; bool p4 = mpripona != "exe"; bool p5 = mpripona != "dll"; bool p6 = mpripona != ""; if ((p1 || p2) && p3 && p4 && p5 && p6) { tobnovit.IsEnabled = true; } else { tobnovit.IsEnabled = false; } if (p3 && p4 && p5 && p6) { tbzmenit.IsEnabled = true; } else { tbzmenit.IsEnabled = false; } nactiIkonu(info.program, info.ikona, info.poradi); }
public void seznampripon() { listView1.Items.Clear(); tobnovit.IsEnabled = true; zatrhnout = false; chb_listview.IsChecked = false; tZmenaLV.Content = "Obnovit"; Task ukol = new Task(() => { foreach (string klic in Registry.ClassesRoot.GetSubKeyNames()) { if (klic.Substring(0, 1) == ".") { string pripona = klic.Replace(".", ""); string cesta; int index; var info = ASC.Nacti(pripona); if (SPP && info.typ == "" && info.program == "" && info.ikona == "") { continue; } if (ZUP) { if (!(info.nazev.Length >= 5 && info.nazev.Substring(0, ASC.nazevPr.Length) == ASC.nazevPr)) { continue; } } if (info.ikona == "") { cesta = info.program.Replace("\"", ""); index = 0; } else { cesta = info.ikona; index = info.poradi; } string cesta_ikona = ""; ImageSource obraz; if (info.ikona != "") { cesta_ikona = info.ikona + "," + info.poradi; obraz = Ikony.Otevrit(info.ikona, info.poradi, 0); } else { obraz = Ikony.Otevrit(info.program, 0, 0); } try { obraz.Freeze(); } catch { } Dispatcher.BeginInvoke(DispatcherPriority.Background, (ThreadStart) delegate() { listView1.Items.Add( new Polozky { lvzaskrknuto = zatrhnout, lvobrazek = obraz, lvpripona = pripona, lvtyp = info.typ, lvprogram = info.program + " " + info.parametr, lvikona = cesta_ikona }); }); } } }); ukol.Start(); }