Process.Kill () Accès refusé
Lorsque j'exécute le code suivant, un Win32Exception est levée pour l'Accès Refusé. Je ne trouve aucune solutions via la recherche. Comment puis-je résoudre ce problème?
foreach (ListViewItem list in showprocesses.SelectedItems)
{
Process p = System.Diagnostics.Process.GetProcessById(Convert.ToInt32(list.Tag));
if (p != null)
p.Kill();
}
source d'informationauteur Ezzy
Vous devez vous connecter pour publier un commentaire.
Vous aurez généralement obtenir cette erreur si vous n'avez pas les autorisations nécessaires. Vous devez être un administrateur, et dans win vista et au-dessus, l'exécution de votre application/processus en mode élevé. En outre, il y a certains processus que même en tant qu'admin, vous ne serez pas capable de tuer, une période critique du système, etc, et vous devrez peut-être exécuter en tant qu' systèmeet puis il y a ceux qui même système ne peut pas tuer, comme les antivirus, ou un virus, car ils ne veulent pas vous tuer leurs processus
Une autre possibilité est que, si le processus est déjà appelé à disparaître, il va également lancer cette exception, voir MSDN
J'ai eu ce genre de problèmes avec une application Delphi Sous Windows 8.1
Ma demande a été la fermeture, mais il était encore dans le contexte des processus du gestionnaire des tâches.
Impossible de le tuer avec TaskKill (essayé en mode administrateur, "/F" l'option de ligne de commande...)
Enfin j'ai découvert que Windows "marqué" une DLL de ma candidature comme "IgnoreFreeLibrary".
C'est pourquoi ma demande n'a pas été à la fermeture.
Voici un extrait de la base de registre :
J'ai effacé l'entrée de registre et tout était normal.
J'ai eu le même problème et utilisé ces codes pour résoudre le problème: