İyi akşamlar hepinize kendim bir program üzerinde çalışmaktayım ve programın düzgün çalışmasını engelleyen bir sorun ile karşılaştım. Şöyle ki ;
Kullandığım method bloğu ;
C#:
string processName = kontroll;
Process[] processes = Process.GetProcesses();
foreach (Process process in processes)
{
if (kontrol1==0) //alakasız bir if takılmayın
{
if (process.ProcessName == processName.ToLower())
{
process.Kill();
this.Show();
}
}
}
Bu method ile programın adını doğru bir şekilde çekip Process.Kill(); ile sonlandırabiliyorum sıkıntı yok, ancak bazı programlar Görev yöneticisinde böyle gözüküyor ;
devenv.exe *32
bu yüzden programın adını çekemiyor çünkü benim değişkenim de programın adı "devenv.exe" olarak geçiyor sonuna " *32" eklemeyi denedim ancak sonuca ulaşamadım.
foreach (var process in Process.GetProcessesByName("devenv"))
process.Kill();
Eski bir launcher projemde sorunu böyle çözmüştüm deneyebilirsiniz. Eğer sorunu çözemezseniz Windowsun cmdsini kullanarak da exeyi terminate edebilirsiniz.
C#:
Process cmd = new Process();
cmd.StartInfo.FileName = "cmd.exe";
cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
cmd.StartInfo.Arguments = "taskkill /F /IM "devenv.exe" /T";
cmd.Start();
kanka sıkıntı yok kodlarında o devenev demesi senin o projeni visual studio üzerinden açmandır eğer sen bu programı klasörden kendin açarsan devenev yerine kendi koymuş olduğun isimle başlayacaktır yani programın ismi x se visual studiodan başladığında devenev gözükür veya vshot gözükür ismini yaz ve klasörden aç programı sorun çözülecektir diye düşünüyorum