none
c# da ikinci exe-i otomotik çalışdırma ve kapatma RRS feed

  • Soru

  • Merhaba arkadaşlar. Ben c sharpda iki ayrı proqram yapmışım. Her iki proqramın  "*exe"-i aynı klasördedir. Debug klasöründe. Yapmak istediyim 1-ci proqramı çalışdırdığımda 2 - ci proqram otomotik çalışsın ve tam aksi 1 proqramı kapatdığımda 2-ci proqram otomotik kapansın. Bunu nasıl yapa bilirim? 1-ci proqramda formun loadına bunu yapdım çalışdı ama proqramı kapatdığmda 2-ci proqramın otomotik olarak kapanmasını yapamadım.

     private void Form2_Load(object sender, EventArgs e)
            {
                System.Diagnostics.Process.Start("2-ci proqramin *exe");
            }
    Nasıl yapa bilrim?

    17 Haziran 2014 Salı 08:19

Yanıtlar

Tüm Yanıtlar


  •         void Kill(string procName)
            {
                 Process.GetProcesses().First(p => p.MainModule.FileName.Equals(procName)).Kill();
            }
    Bu exenin var olup olmadığını da ile 
      if(Process.GetProcesses().Any(p => p.MainModule.FileName.Equals("ProgramAdi.exe")))
                 {
                     
                 }

    kontrol edebilirsiniz.


    17 Haziran 2014 Salı 08:39

  •    void Kill()
            {
                 Process.GetProcesses().First(p => p.MainModule.FileName.Equals("ProgramAdi.exe")).Kill();
            }

    Tabi linq'le daha kolay :) Kendi cevabımı sileyim dur :)

    İletişim

    17 Haziran 2014 Salı 08:41
    Moderatör

  •    void Kill()
            {
                 Process.GetProcesses().First(p => p.MainModule.FileName.Equals("ProgramAdi.exe")).Kill();
            }

    Tabi linq'le daha kolay :) Kendi cevabımı sileyim dur :)

    İletişim

    :D Barış hocam sadece alternatif sunmuştum. Sizinki de kalabilirdi.
    17 Haziran 2014 Salı 08:46

  •    void Kill()
            {
                 Process.GetProcesses().First(p => p.MainModule.FileName.Equals("ProgramAdi.exe")).Kill();
            }

    Tabi linq'le daha kolay :) Kendi cevabımı sileyim dur :)

    İletişim

    :D Barış hocam sadece alternatif sunmuştum. Sizinki de kalabilirdi.

    Bi an Linq aklıma gelmedi. Senden gördüğümde verdiğim cevaptan utandım :D

    Linq aklıma gelmediğine göre, bir çay molası vermenin zamanı gelmiş :) 


    İletişim

    17 Haziran 2014 Salı 08:47
    Moderatör
  • Yemek vakti gelmiş bence hocam. :) Bende çıkıp yazarkasalarla uğraşacağım şimdi.
    17 Haziran 2014 Salı 08:51
  • Madem ilgili uygulamayı Process'in statik factory metodu  ile başlatıyorsunuz geriye dönen Process türünden nesnenin referansını saklayın ve onu kill edin neden tekrar bulmakla uğraşıyorsunuz ki? 

    1sn yaşayan notepad örneği :

    var p = Process.Start("notepad.exe");
    Thread.Sleep(1000);
    p.Kill();

    17 Haziran 2014 Salı 09:28