public BoltUI(string pathSalvataggio, Programma[] listaProgrammi, int numProgrammi) { InitializeComponent(); this.pathSalvataggio = pathSalvataggio; this.listaProgrammi = listaProgrammi; this.numProgrammi = numProgrammi; AggiornaListBox(listBoxElencoAvvio, listaProgrammi, numProgrammi); if (reg.GetValue("R Delay") == null) checkBoxAvvio.Checked = false; else checkBoxAvvio.Checked = true; Debug.Print(">>> Caricata home [" + numProgrammi.ToString() + " Elementi in lista]"); }
public AggiungiProgramma(Programma programmaDaModificare) { InitializeComponent(); textBoxNome.Text = programmaDaModificare.nome; textBoxPercorsoFile.Text = programmaDaModificare.path; textBoxParametri.Text = programmaDaModificare.parametri; comboBoxCondizioniAvvio.SelectedItem = programmaDaModificare.esecuzione; this.Text = "Edit"; this.Icon = Bolt.Properties.Resources.modifica; if (comboBoxCondizioniAvvio.SelectedItem.ToString() == "After timeout") { numericUpDownSecondiTimeout.Enabled = true; labelSecondiTimeout.Enabled = true; numericUpDownSecondiTimeout.Value = programmaDaModificare.timeout; } }
public BoltBackgroundProcess(Programma[] listaProgrammi, int numProgrammi) { ni.Icon = Bolt.Properties.Resources.bolt_icon; ni.Visible = true; this.listaProgrammi = listaProgrammi; this.numProgrammi = numProgrammi; for (int k = 0; k < numProgrammi; k++) { if (listaProgrammi[k].esecuzione == "At startup") { Process.Start(listaProgrammi[k].path, listaProgrammi[k].parametri); avviati++; } } while (avviati < numProgrammi) { ni.Text = "Bolt" +Environment.NewLine+ avviati.ToString() + " Avviati"+Environment.NewLine + (numProgrammi - avviati).ToString() + " in attesa"; if (ConnessioneOK()) { Debug.Print(">>> Connessione stabilita"); for (int i = 0; i < numProgrammi; i++) if (listaProgrammi[i].esecuzione == "When connection avaiable") { Process.Start(listaProgrammi[i].path, listaProgrammi[i].parametri); avviati++; } } for (int i = 0; i < numProgrammi; i++) if (listaProgrammi[i].esecuzione == "After timeout" && listaProgrammi[i].timeout == secondi) { Process.Start(listaProgrammi[i].path, listaProgrammi[i].parametri); avviati++; } System.Threading.Thread.Sleep(5000); secondi+=5; } }
public static void Main(string[] args) { int numProgrammi = 0; Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Programma[] listaProgrammi = new Programma[100]; XmlSerializer xs = new XmlSerializer(typeof(Programma[])); TextReader tr; string pathSalvataggio = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\Bolt\listaProgrammi.xml"; if (!File.Exists(pathSalvataggio)) { Debug.Print(">>> Il file non esiste. Creo la cartella"); Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\Bolt\"); } else { Debug.Print(">>> Il file esiste. Deserializzo"); tr = new StreamReader(pathSalvataggio); listaProgrammi = (Programma[])xs.Deserialize(tr); tr.Close(); numProgrammi = listaProgrammi.Count(s => s.nome != null); } if (BackgroundArg(args) == true) { Debug.Print(">>> Avvio il processo magico"); BoltBackgroundProcess istanzaAvvio = new BoltBackgroundProcess(listaProgrammi, numProgrammi); } else { Debug.Print(">>> Avvio la schermata utente Home"); Application.Run(new BoltUI(pathSalvataggio, listaProgrammi, numProgrammi)); } }
private void AggiornaListBox(ListBox listBox, Programma[] lista, int numElem) { listBox.Items.Clear(); for (int i = 0; i < numElem; i++) listBox.Items.Add(lista[i].nome); }