Exemple #1
0
        private void Uygulama_OutputDataReceived(object sender, DataReceivedEventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(e.Data))
                {
                    return;
                }

                if (!Etkin.Checked)
                {
                    goto HerTürlüDevam;
                }

                string Girdi = e.Data.ToLower();

                if (BaşlarVeİçerirKıstaslarıBoş)
                {
                    goto Devam;
                }
                else
                {
                    foreach (string biri in l_İçerir)
                    {
                        if (Girdi.Contains(biri))
                        {
                            goto Devam;
                        }
                    }

                    foreach (string biri in l_Başlar)
                    {
                        if (Girdi.StartsWith(biri))
                        {
                            goto Devam;
                        }
                    }

                    return;
                }

Devam:
                foreach (string biri in l_Hariç)
                {
                    if (Girdi.Contains(biri))
                    {
                        return;
                    }
                }

HerTürlüDevam:
                Çıktı.AppendText(e.Data + Environment.NewLine);
            }
            catch (Exception) { }
        }
Exemple #2
0
 private void Uygulama_Exited(object sender, EventArgs e)
 {
     Başlat_Click(null, null);
     Çıktı.AppendText("Uygulama Kapandı");
 }
Exemple #3
0
        private void Başlat_Click(object sender, EventArgs e)
        {
            if (Uygulama != null)
            {
                try
                {
                    Uygulama.Kill();
                    Uygulama.Close();
                }
                catch (Exception) { }

                try
                {
                    Uygulama.Dispose();
                }
                catch (Exception) { }

                Uygulama = null;

                Başlat.Text = "Başlat";
                return;
            }

            int           i  = 0;
            List <string> l_ = Girdi_Başlar.Text.Split('@').ToList();

            for (; i < l_.Count; i++)
            {
                l_[i] = l_[i].ToLower();
                if (string.IsNullOrEmpty(l_[i]))
                {
                    l_.RemoveAt(i); i--;
                }
            }
            l_Başlar = l_.ToArray();

            i  = 0;
            l_ = Girdi_İçerir.Text.Split('@').ToList();
            for (; i < l_.Count; i++)
            {
                l_[i] = l_[i].ToLower();
                if (string.IsNullOrEmpty(l_[i]))
                {
                    l_.RemoveAt(i); i--;
                }
            }
            l_İçerir = l_.ToArray();

            i  = 0;
            l_ = Girdi_Hariç.Text.Split('@').ToList();
            for (; i < l_.Count; i++)
            {
                l_[i] = l_[i].ToLower();
                if (string.IsNullOrEmpty(l_[i]))
                {
                    l_.RemoveAt(i); i--;
                }
            }
            l_Hariç = l_.ToArray();

            if (l_Başlar.Length + l_İçerir.Length == 0)
            {
                BaşlarVeİçerirKıstaslarıBoş = true;
            }
            else
            {
                BaşlarVeİçerirKıstaslarıBoş = false;
            }

            Uygulama = new Process();
            string kök = Girdi_Uygulama.Text + " ";

            kök = kök.Substring(0, kök.IndexOf(' '));
            Uygulama.StartInfo.FileName = kök;

            kök = Girdi_Uygulama.Text.Remove(0, kök.Length).Trim();
            Uygulama.StartInfo.Arguments = kök;

            Uygulama.StartInfo.CreateNoWindow  = true;
            Uygulama.StartInfo.WindowStyle     = ProcessWindowStyle.Hidden;
            Uygulama.StartInfo.UseShellExecute = false;

            Uygulama.StartInfo.RedirectStandardError  = true;
            Uygulama.StartInfo.RedirectStandardOutput = true;
            Uygulama.ErrorDataReceived  += Uygulama_OutputDataReceived;
            Uygulama.Exited             += Uygulama_Exited;
            Uygulama.OutputDataReceived += Uygulama_OutputDataReceived;
            Uygulama.EnableRaisingEvents = true;

            try
            {
                Uygulama.Start();
            }
            catch (Exception ex)
            {
                Çıktı.AppendText(Environment.NewLine + ex.ToString() + Environment.NewLine);
                Başlat_Click(null, null);
                return;
            }

            Uygulama.BeginOutputReadLine();
            Uygulama.BeginErrorReadLine();

            bool Var = false;

            foreach (string biri in Girdi_Uygulama.Items)
            {
                if (Girdi_Uygulama.Text.ToLower() == biri.ToLower())
                {
                    Var = true; break;
                }
            }
            if (!Var)
            {
                Girdi_Uygulama.Items.Add(Girdi_Uygulama.Text);
            }

            Var = false;
            foreach (string biri in Girdi_Başlar.Items)
            {
                if (Girdi_Başlar.Text.ToLower() == biri.ToLower())
                {
                    Var = true; break;
                }
            }
            if (!Var)
            {
                Girdi_Başlar.Items.Add(Girdi_Başlar.Text);
            }

            Var = false;
            foreach (string biri in Girdi_İçerir.Items)
            {
                if (Girdi_İçerir.Text.ToLower() == biri.ToLower())
                {
                    Var = true; break;
                }
            }
            if (!Var)
            {
                Girdi_İçerir.Items.Add(Girdi_İçerir.Text);
            }

            Var = false;
            foreach (string biri in Girdi_Hariç.Items)
            {
                if (Girdi_Hariç.Text.ToLower() == biri.ToLower())
                {
                    Var = true; break;
                }
            }
            if (!Var)
            {
                Girdi_Hariç.Items.Add(Girdi_Hariç.Text);
            }

            Başlat.Text = "Durdur";
        }