2015-03-25 1 views
0

Comment tuer le processus dans Visual Studio 2008 C#? J'ai essayé le code ci-dessousErreur 'System.Diagnostics.Process' ne contient pas de définition pour 'GetProcesses' dans Visual Studio 2008 C#

using System; 
using System.Windows.Forms; 
using System.Diagnostics; 
namespace GR 
{ 
public partial class Form1 : Form 
{ 
    public Login loginform; 
    public EntryForm entryform; 

    public Form1() 
    { 
     //userName = ""; 
     InitializeComponent(); 
     //CheckForInternetConnection(); 

     foreach (Process clsProcess in Process.GetProcesses()) 
     { 

      if (clsProcess.ProcessName.StartsWith("Bin_")) 
      { 
       clsProcess.Kill(); 
      } 
     } 
     loginform=new Login(); 

     entryform = new EntryForm(); 
     Controls.Add(loginform); 
     Controls.Add(entryform); 

     loginform.Show(); 
     entryform.Hide(); 

     loginform.entryForm = entryform; 
     entryform.loginForm = loginform; 

    } 
    } 
} 

Je reçois cette erreur

'System.Diagnostics.Process' ne contient pas une définition pour 'GetProcesses'.

Une suggestion?

+2

Etes-vous sûr? Quelle est votre version .NET? –

+0

Avec les informations présentes ici, ceci n'est pas reproductible puisque GetProcesses est très présent dans Process. Pouvez-vous vous assurer que vous n'avez pas de caractères Unicode géniaux dans le nom ou quelque chose comme ça? Pouvez-vous placer le curseur dans Processus et appuyer sur F12 pour nous dire où cela vous mène? –

+0

Pouvez-vous ajouter votre code complet. Le problème peut être ailleurs. Assurez-vous également que vous référencez la bibliothèque DLL correcte. – Kami

Répondre

0

Le Framework ompact ne le supporte pas, c'est pourquoi vous obtenez l'erreur. La solution de rechange consiste à utiliser les API Toolhelp, comme le fait SDF. Jetez un oeil à la ProcessEntryclass in the SDF. Plus précisément, la méthode GetProcesses() et la méthode suivante Kill().