Jak z poziomu c# zamknąć inny process [Windows 8.1]

Jak z poziomu c# zamknąć inny process [Windows 8.1]
SC
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad 11 lat
  • Postów:2
0

Witam, problem może trywialny jednak nie mogę znaleźć odpowiedzi. Jak zabić konkretny proces z poziomu programu. Np. notepad.exe
W Windows 7 / XP działało np to:

Kopiuj
foreach ( var process in Process.GetProcessByName("notepad.exe"))
{
   process.Kill();
}

Jednak pod Windows 8/8.1 to nie działa.

KR
  • Rejestracja:prawie 16 lat
  • Ostatnio:6 miesięcy
  • Postów:2514
1

http://social.msdn.microsoft.com/Forums/vstudio/en-US/50ecbcf2-d2d3-4f21-9775-5b8be1bd4346/how-to-terminate-a-process-in-c?forum=csharpgeneral

Kopiuj
try
{
	foreach (Process proc in Process.GetProcessesByName("utorrent"))
            {
                proc.Kill();
            }
}
catch(Exception ex)
{
	MessageBox.Show(ex.Message);
}

Jak Ci dalej nie działa to odpal jako Admin i sprawdź


░█░█░█░█░█░█░█░█░█░█░█░
SC
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad 11 lat
  • Postów:2
0

Jednak problem leżał po innej stronie. Projekt w którym to testowałem był robiony w VS2010 w Win7 a potem przerabiałem go w VS2012 na Win8.1 Na czystym projekcie w VS2012 na Win8 powyższa instrukcja działa. Nie wiem czemu nie działa w tym samym projekcie robionym w VS2010.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.