İyi günler herkese, yazdığım programı kapatınca işlemlerden de kalkmasını istiyorum, bunun için ne yapmam gerekir? form close olayında process sınıfyla mı kapatmam gerekiyo?
C# kapatılan programın işlemler listesinde görünmesi
Cevaplar
foreach (var process in Process.GetProcessesByName("programAdı.exe"))
{
process.Kill();
}
{
process.Kill();
}
Normal şartlar altında uygulamanı kapattığında işlemlerden de otomatik silinir. Ancak uygulamanı A formu ile açıp (örneğin login formu), ondan sonra A formunu gizleyip B formuna geçiyorsan ve işlemler hep B de devam edip daha sonra B formunu kapatırsan doğal olarak işlemler listesinden silinmez çünkü A formu hala açık ama gizli :) Bu durumda B formunu açarken A yı parametre olarak göndermen gerek ve B formunun OnClose olayına A.Close() tarzı bi şey yazman gerek...
Muhtemelen Champion78' in bahsettiği tarzda bir işlem yaptığın için böyle bir sorun yaşıyorsun.
Program start olurken Main matodu içerisinde Application.Run metodu ile bir form belirtirsin. Buda senin açılış formun olur. Sadece bu formda this.Close dersen uygulaman sonlanır. Ama farklı bir formdan da uygulamayı sonlandırmak istersen Application.Exit metodunu kullanmalısın. Bu komut ile uygulamanın herhangi bir yerinden uygulamanı sonlandırabilirsin.
Bilgi için
http://msdn.microsoft.com/tr-tr/library/ms157894.aspx
Program start olurken Main matodu içerisinde Application.Run metodu ile bir form belirtirsin. Buda senin açılış formun olur. Sadece bu formda this.Close dersen uygulaman sonlanır. Ama farklı bir formdan da uygulamayı sonlandırmak istersen Application.Exit metodunu kullanmalısın. Bu komut ile uygulamanın herhangi bir yerinden uygulamanı sonlandırabilirsin.
Bilgi için
http://msdn.microsoft.com/tr-tr/library/ms157894.aspx
xlorxlarge; teşekkür ederim, kod istediğim sonucu verdi. Champion78; tek formda çalışırken başıma gelen bişey bu. form close değil de application.exit diye çıkıyorum fakat işlermlerden kapanmıyo(du) program. process.kill ile olayı hallettim. Bu arada konuya bişey araştırırken gelenlerden merak eden olabilir neden foreach diye döngü kullandık diye. Dediğim gibi işlemlerden kapanmayan programı tekrar çalıştırdığımızda iki tane aynı isimde işlem çalışır halde oluyo, döngüyle aynı isimdekileri bulup process.kill ile kapatıyoruz.
- - - Mesaj Güncellendi - - -
@hokomus; ben yazarken senin cevap görünmüyodu ama sanırım sana da cevap vermiş oldum:) Teşekkür ederim cevabın için.
- - - Mesaj Güncellendi - - -
@hokomus; ben yazarken senin cevap görünmüyodu ama sanırım sana da cevap vermiş oldum:) Teşekkür ederim cevabın için.
Rica ederim.