Process.GetProcessesByName Process.GetProcessesByName Process.GetProcessesByName Process.GetProcessesByName Method

Definizione

Crea una matrice di nuovi componenti Process e li associa alle risorse di processo esistenti che condividono il nome di processo specificato.Creates an array of new Process components and associates them with the existing process resources that all share the specified process name.

Overload

GetProcessesByName(String) GetProcessesByName(String) GetProcessesByName(String) GetProcessesByName(String)

Crea una matrice di nuovi componenti Process e li associa a tutte le risorse di processo nel computer locale che condividono il nome di processo specificato.Creates an array of new Process components and associates them with all the process resources on the local computer that share the specified process name.

GetProcessesByName(String, String) GetProcessesByName(String, String) GetProcessesByName(String, String) GetProcessesByName(String, String)

Crea una matrice di nuovi componenti Process e li associa a tutte le risorse di processo in un computer remoto che condividono il nome di processo specificato.Creates an array of new Process components and associates them with all the process resources on a remote computer that share the specified process name.

GetProcessesByName(String) GetProcessesByName(String) GetProcessesByName(String) GetProcessesByName(String)

Crea una matrice di nuovi componenti Process e li associa a tutte le risorse di processo nel computer locale che condividono il nome di processo specificato.Creates an array of new Process components and associates them with all the process resources on the local computer that share the specified process name.

public:
 static cli::array <System::Diagnostics::Process ^> ^ GetProcessesByName(System::String ^ processName);
public static System.Diagnostics.Process[] GetProcessesByName (string processName);
static member GetProcessesByName : string -> System.Diagnostics.Process[]
Public Shared Function GetProcessesByName (processName As String) As Process()

Parametri

processName
String String String String

Nome descrittivo del processo.The friendly name of the process.

Restituisce

Una matrice di tipo Process che rappresenta le risorse di processo che eseguono l'applicazione o il file specificati.An array of type Process that represents the process resources running the specified application or file.

Eccezioni

Si sono verificati problemi di accesso alle API del contatore di prestazioni usate per ottenere informazioni sul processo.There are problems accessing the performance counter API's used to get process information. Questa eccezion è specifica di Windows NT, Windows 2000 e Windows XP.This exception is specific to Windows NT, Windows 2000, and Windows XP.

Esempi

Nell'esempio seguente vengono recuperate le informazioni del processo corrente, i processi in esecuzione nel computer locale, tutte le istanze del blocco note in esecuzione nel computer locale e un processo specifico nel computer locale.The following example retrieves information of the current process, processes running on the local computer, all instances of Notepad running on the local computer, and a specific process on the local computer. Recupera quindi le informazioni per gli stessi processi in un computer remoto.It then retrieves information for the same processes on a remote computer.

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::ComponentModel;
int main()
{   
   // Get the current process.    
   Process^ currentProcess = Process::GetCurrentProcess();

   // Get all processes running on the local computer.
   array<Process^>^localAll = Process::GetProcesses();

   // Get all instances of Notepad running on the local computer.
   // This will return an empty array if notepad isn't running.
   array<Process^>^localByName = Process::GetProcessesByName("notepad");

   // Get a process on the local computer, using the process id.
   // This will throw an exception if there is no such process.
   Process^ localById = Process::GetProcessById(1234);


   // Get processes running on a remote computer. Note that this
   // and all the following calls will timeout and throw an exception
   // if "myComputer" and 169.0.0.0 do not exist on your local network.

   // Get all processes on a remote computer.
   array<Process^>^remoteAll = Process::GetProcesses("myComputer");

   // Get all instances of Notepad running on the specific computer, using machine name.
   array<Process^>^remoteByName = Process::GetProcessesByName( "notepad", "myComputer" );
   
   // Get all instances of Notepad running on the specific computer, using IP address.
   array<Process^>^ipByName = Process::GetProcessesByName( "notepad", "169.0.0.0" );
   
   // Get a process on a remote computer, using the process id and machine name.
   Process^ remoteById = Process::GetProcessById( 2345, "myComputer" );
}
using System;
using System.Diagnostics;
using System.ComponentModel;

namespace MyProcessSample
{
    class MyProcess
    {
        void BindToRunningProcesses()
        {
            // Get the current process.
            Process currentProcess = Process.GetCurrentProcess();

            // Get all processes running on the local computer.
            Process[] localAll = Process.GetProcesses();

            // Get all instances of Notepad running on the local computer.
            // This will return an empty array if notepad isn't running.
            Process[] localByName = Process.GetProcessesByName("notepad");

            // Get a process on the local computer, using the process id.
            // This will throw an exception if there is no such process.
            Process localById = Process.GetProcessById(1234);


            // Get processes running on a remote computer. Note that this
            // and all the following calls will timeout and throw an exception
            // if "myComputer" and 169.0.0.0 do not exist on your local network.

            // Get all processes on a remote computer.
            Process[] remoteAll = Process.GetProcesses("myComputer");

            // Get all instances of Notepad running on the specific computer, using machine name.
            Process[] remoteByName = Process.GetProcessesByName("notepad", "myComputer");

            // Get all instances of Notepad running on the specific computer, using IP address.
            Process[] ipByName = Process.GetProcessesByName("notepad", "169.0.0.0");

            // Get a process on a remote computer, using the process id and machine name.
            Process remoteById = Process.GetProcessById(2345, "myComputer");
        }

        static void Main()
        {
            MyProcess myProcess = new MyProcess();
            myProcess.BindToRunningProcesses();
        }
    }
}
Imports System
Imports System.Diagnostics
Imports System.ComponentModel

Namespace MyProcessSample
    Class MyProcess
        Sub BindToRunningProcesses()
            ' Get the current process. You can use currentProcess from this point
            ' to access various properties and call methods to control the process.
            Dim currentProcess As Process = Process.GetCurrentProcess()

            ' Get all processes running on the local computer.
            Dim localAll As Process() = Process.GetProcesses()

            ' Get all instances of Notepad running on the local computer.
            ' This will return an empty array if notepad isn't running.
            Dim localByName As Process() = Process.GetProcessesByName("notepad")

            ' Get a process on the local computer, using the process id.
            ' This will throw an exception if there is no such process.
            Dim localById As Process = Process.GetProcessById(1234)


            ' Get processes running on a remote computer. Note that this
            ' and all the following calls will timeout and throw an exception
            ' if "myComputer" and 169.0.0.0 do not exist on your local network.

            ' Get all processes on a remote computer.
            Dim remoteAll As Process() = Process.GetProcesses("myComputer")

            ' Get all instances of Notepad running on the specific computer, using machine name.
            Dim remoteByName As Process() = Process.GetProcessesByName("notepad", "myComputer")

            ' Get all instances of Notepad running on the specific computer, using IP address.
            Dim ipByName As Process() = Process.GetProcessesByName("notepad", "169.0.0.0")

            ' Get a process on a remote computer, using the process id and machine name.
            Dim remoteById As Process = Process.GetProcessById(2345, "myComputer")
        End Sub 'BindToRunningProcesses

        Shared Sub Main()
            Dim myProcess As New MyProcess()
            myProcess.BindToRunningProcesses()
        End Sub 'Main 

    End Class 'MyProcess

End Namespace 'MyProcessSample

Commenti

Utilizzare questo metodo per creare una matrice di nuovi Process componenti e associarli a tutte le risorse di processo che eseguono lo stesso file eseguibile nel computer locale.Use this method to create an array of new Process components and associate them with all the process resources that are running the same executable file on the local computer. È necessario che le risorse di processo esistano già nel GetProcessesByName computer, perché non crea risorse di sistema, bensì le associa ai Process componenti generati dall'applicazione.The process resources must already exist on the computer, because GetProcessesByName does not create system resources but rather associates them with application-generated Process components. È processName possibile specificare un oggetto per un file eseguibile che non è attualmente in esecuzione nel computer locale, quindi la matrice restituita dal metodo può essere vuota.A processName can be specified for an executable file that is not currently running on the local computer, so the array the method returns can be empty.

Il nome del processo è un nome descrittivo per il processo, ad esempio Outlook, che non include l'estensione exe o il percorso.The process name is a friendly name for the process, such as Outlook, that does not include the .exe extension or the path. GetProcessesByNameè utile per ottenere e modificare tutti i processi associati allo stesso file eseguibile.GetProcessesByName is helpful for getting and manipulating all the processes that are associated with the same executable file. Ad esempio, è possibile passare un nome file eseguibile come processName parametro per arrestare tutte le istanze in esecuzione del file eseguibile.For example, you can pass an executable file name as the processName parameter, in order to shut down all the running instances of that executable file.

Sebbene un processo Id sia univoco per una singola risorsa di processo nel sistema, più processi nel computer locale possono eseguire l'applicazione specificata processName dal parametro.Although a process Id is unique to a single process resource on the system, multiple processes on the local computer can be running the application specified by the processName parameter. Pertanto, GetProcessById restituisce un processo al massimo, ma GetProcessesByName restituisce una matrice contenente tutti i processi associati.Therefore, GetProcessById returns one process at most, but GetProcessesByName returns an array containing all the associated processes. Se è necessario modificare il processo usando chiamate API standard, è possibile eseguire una query su ognuno di questi processi a sua volta per il relativo identificatore.If you need to manipulate the process using standard API calls, you can query each of these processes in turn for its identifier. Non è possibile accedere alle risorse di processo solo tramite il nome del processo, ma dopo avere recuperato Process una matrice di componenti che sono stati associati alle risorse di processo, è possibile avviare, terminare e modificare le risorse di sistema in altro modo.You cannot access process resources through the process name alone but, once you have retrieved an array of Process components that have been associated with the process resources, you can start, terminate, and otherwise manipulate the system resources.

Sicurezza

LinkDemand
per l'attendibilità totale per il chiamante immediato.for full trust for the immediate caller. Impossibile utilizzare questo membro in codice parzialmente attendibile.This member cannot be used by partially trusted code.

Vedi anche

GetProcessesByName(String, String) GetProcessesByName(String, String) GetProcessesByName(String, String) GetProcessesByName(String, String)

Crea una matrice di nuovi componenti Process e li associa a tutte le risorse di processo in un computer remoto che condividono il nome di processo specificato.Creates an array of new Process components and associates them with all the process resources on a remote computer that share the specified process name.

public:
 static cli::array <System::Diagnostics::Process ^> ^ GetProcessesByName(System::String ^ processName, System::String ^ machineName);
public static System.Diagnostics.Process[] GetProcessesByName (string processName, string machineName);
static member GetProcessesByName : string * string -> System.Diagnostics.Process[]
Public Shared Function GetProcessesByName (processName As String, machineName As String) As Process()

Parametri

processName
String String String String

Nome descrittivo del processo.The friendly name of the process.

machineName
String String String String

Nome di un computer della rete.The name of a computer on the network.

Restituisce

Una matrice di tipo Process che rappresenta le risorse di processo che eseguono l'applicazione o il file specificati.An array of type Process that represents the process resources running the specified application or file.

Eccezioni

La sintassi del parametro machineName non è valida.The machineName parameter syntax is invalid. Potrebbe avere lunghezza zero (0).It might have length zero (0).

Il valore del parametro machineName è null.The machineName parameter is null.

La piattaforma del sistema operativo non supporta questa operazione in computer remoti.The operating system platform does not support this operation on remote computers.

Il tentativo di connessione a machineName non è riuscito.The attempt to connect to machineName has failed.

-oppure--or- Si sono verificati problemi di accesso alle API del contatore di prestazioni usate per ottenere informazioni sul processo.There are problems accessing the performance counter API's used to get process information. Questa eccezion è specifica di Windows NT, Windows 2000 e Windows XP.This exception is specific to Windows NT, Windows 2000, and Windows XP.

Si è verificato un problema durante l'accesso a un'API di sistema sottostante.A problem occurred accessing an underlying system API.

Esempi

Nell'esempio seguente vengono recuperate le informazioni del processo corrente, i processi in esecuzione nel computer locale, tutte le istanze del blocco note in esecuzione nel computer locale e un processo specifico nel computer locale.The following example retrieves information of the current process, processes running on the local computer, all instances of Notepad running on the local computer, and a specific process on the local computer. Recupera quindi le informazioni per gli stessi processi in un computer remoto.It then retrieves information for the same processes on a remote computer.

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::ComponentModel;
int main()
{   
   // Get the current process.    
   Process^ currentProcess = Process::GetCurrentProcess();

   // Get all processes running on the local computer.
   array<Process^>^localAll = Process::GetProcesses();

   // Get all instances of Notepad running on the local computer.
   // This will return an empty array if notepad isn't running.
   array<Process^>^localByName = Process::GetProcessesByName("notepad");

   // Get a process on the local computer, using the process id.
   // This will throw an exception if there is no such process.
   Process^ localById = Process::GetProcessById(1234);


   // Get processes running on a remote computer. Note that this
   // and all the following calls will timeout and throw an exception
   // if "myComputer" and 169.0.0.0 do not exist on your local network.

   // Get all processes on a remote computer.
   array<Process^>^remoteAll = Process::GetProcesses("myComputer");

   // Get all instances of Notepad running on the specific computer, using machine name.
   array<Process^>^remoteByName = Process::GetProcessesByName( "notepad", "myComputer" );
   
   // Get all instances of Notepad running on the specific computer, using IP address.
   array<Process^>^ipByName = Process::GetProcessesByName( "notepad", "169.0.0.0" );
   
   // Get a process on a remote computer, using the process id and machine name.
   Process^ remoteById = Process::GetProcessById( 2345, "myComputer" );
}
using System;
using System.Diagnostics;
using System.ComponentModel;

namespace MyProcessSample
{
    class MyProcess
    {
        void BindToRunningProcesses()
        {
            // Get the current process.
            Process currentProcess = Process.GetCurrentProcess();

            // Get all processes running on the local computer.
            Process[] localAll = Process.GetProcesses();

            // Get all instances of Notepad running on the local computer.
            // This will return an empty array if notepad isn't running.
            Process[] localByName = Process.GetProcessesByName("notepad");

            // Get a process on the local computer, using the process id.
            // This will throw an exception if there is no such process.
            Process localById = Process.GetProcessById(1234);


            // Get processes running on a remote computer. Note that this
            // and all the following calls will timeout and throw an exception
            // if "myComputer" and 169.0.0.0 do not exist on your local network.

            // Get all processes on a remote computer.
            Process[] remoteAll = Process.GetProcesses("myComputer");

            // Get all instances of Notepad running on the specific computer, using machine name.
            Process[] remoteByName = Process.GetProcessesByName("notepad", "myComputer");

            // Get all instances of Notepad running on the specific computer, using IP address.
            Process[] ipByName = Process.GetProcessesByName("notepad", "169.0.0.0");

            // Get a process on a remote computer, using the process id and machine name.
            Process remoteById = Process.GetProcessById(2345, "myComputer");
        }

        static void Main()
        {
            MyProcess myProcess = new MyProcess();
            myProcess.BindToRunningProcesses();
        }
    }
}
Imports System
Imports System.Diagnostics
Imports System.ComponentModel

Namespace MyProcessSample
    Class MyProcess
        Sub BindToRunningProcesses()
            ' Get the current process. You can use currentProcess from this point
            ' to access various properties and call methods to control the process.
            Dim currentProcess As Process = Process.GetCurrentProcess()

            ' Get all processes running on the local computer.
            Dim localAll As Process() = Process.GetProcesses()

            ' Get all instances of Notepad running on the local computer.
            ' This will return an empty array if notepad isn't running.
            Dim localByName As Process() = Process.GetProcessesByName("notepad")

            ' Get a process on the local computer, using the process id.
            ' This will throw an exception if there is no such process.
            Dim localById As Process = Process.GetProcessById(1234)


            ' Get processes running on a remote computer. Note that this
            ' and all the following calls will timeout and throw an exception
            ' if "myComputer" and 169.0.0.0 do not exist on your local network.

            ' Get all processes on a remote computer.
            Dim remoteAll As Process() = Process.GetProcesses("myComputer")

            ' Get all instances of Notepad running on the specific computer, using machine name.
            Dim remoteByName As Process() = Process.GetProcessesByName("notepad", "myComputer")

            ' Get all instances of Notepad running on the specific computer, using IP address.
            Dim ipByName As Process() = Process.GetProcessesByName("notepad", "169.0.0.0")

            ' Get a process on a remote computer, using the process id and machine name.
            Dim remoteById As Process = Process.GetProcessById(2345, "myComputer")
        End Sub 'BindToRunningProcesses

        Shared Sub Main()
            Dim myProcess As New MyProcess()
            myProcess.BindToRunningProcesses()
        End Sub 'Main 

    End Class 'MyProcess

End Namespace 'MyProcessSample

Commenti

Utilizzare questo metodo per creare una matrice di nuovi Process componenti e associarli a tutte le risorse di processo che eseguono lo stesso file eseguibile nel computer specificato.Use this method to create an array of new Process components and associate them with all the process resources that are running the same executable file on the specified computer. È necessario che le risorse di processo esistano già nel GetProcessesByName computer, perché non crea risorse di sistema, bensì le associa ai Process componenti generati dall'applicazione.The process resources must already exist on the computer, because GetProcessesByName does not create system resources but rather associates them with application-generated Process components. È processName possibile specificare un oggetto per un file eseguibile che non è attualmente in esecuzione nel computer locale, quindi la matrice restituita dal metodo può essere vuota.A processName can be specified for an executable file that is not currently running on the local computer, so the array the method returns can be empty.

Il nome del processo è un nome descrittivo per il processo, ad esempio Outlook, che non include l'estensione exe o il percorso.The process name is a friendly name for the process, such as Outlook, that does not include the .exe extension or the path. GetProcessesByNameè utile per ottenere e modificare tutti i processi associati allo stesso file eseguibile.GetProcessesByName is helpful for getting and manipulating all the processes that are associated with the same executable file. Ad esempio, è possibile passare un nome file eseguibile come processName parametro per arrestare tutte le istanze in esecuzione del file eseguibile.For example, you can pass an executable file name as the processName parameter, in order to shut down all the running instances of that executable file.

Sebbene un processo Id sia univoco per una singola risorsa di processo nel sistema, più processi nel computer locale possono eseguire l'applicazione specificata processName dal parametro.Although a process Id is unique to a single process resource on the system, multiple processes on the local computer can be running the application specified by the processName parameter. Pertanto, GetProcessById restituisce un processo al massimo, ma GetProcessesByName restituisce una matrice contenente tutti i processi associati.Therefore, GetProcessById returns one process at most, but GetProcessesByName returns an array containing all the associated processes. Se è necessario modificare il processo usando chiamate API standard, è possibile eseguire una query su ognuno di questi processi a sua volta per il relativo identificatore.If you need to manipulate the process using standard API calls, you can query each of these processes in turn for its identifier. Non è possibile accedere alle risorse di processo solo tramite il nome del processo, ma dopo avere recuperato Process una matrice di componenti che sono stati associati alle risorse di processo, è possibile avviare, terminare e modificare le risorse di sistema in altro modo.You cannot access process resources through the process name alone but, once you have retrieved an array of Process components that have been associated with the process resources, you can start, terminate, and otherwise manipulate the system resources.

È possibile utilizzare questo overload per ottenere i processi nel computer locale e in un computer remoto.You can use this overload to get processes on the local computer as well as on a remote computer. Usare "." per specificare il computer locale.Use "." to specify the local computer. Esiste un altro overload che usa il computer locale per impostazione predefinita.Another overload exists that uses the local computer by default.

È possibile accedere ai processi sui computer remoti solo per visualizzare le informazioni, ad esempio le statistiche, sui processi.You can access processes on remote computers only to view information, such as statistics, about the processes. Non è possibile chiudere, terminare ( Killutilizzare) o avviare processi nei computer remoti.You cannot close, terminate (using Kill), or start processes on remote computers.

Sicurezza

LinkDemand
per l'attendibilità totale per il chiamante immediato.for full trust for the immediate caller. Impossibile utilizzare questo membro in codice parzialmente attendibile.This member cannot be used by partially trusted code.

SecurityPermission
per chiamare codice non gestito.to call unmanaged code. Enumerazione associata:UnmanagedCodeAssociated enumeration: UnmanagedCode

Vedi anche

Si applica a