Bagikan melalui


Process.GetProcessesByName Metode

Definisi

Membuat array komponen baru Process dan mengaitkannya dengan sumber daya proses yang ada yang semuanya berbagi nama proses yang ditentukan.

Overload

GetProcessesByName(String, String)

Membuat array komponen baru Process dan mengaitkannya dengan semua sumber daya proses di komputer jarak jauh yang berbagi nama proses yang ditentukan.

GetProcessesByName(String)

Membuat array komponen baru Process dan mengaitkannya dengan semua sumber daya proses di komputer lokal yang berbagi nama proses yang ditentukan.

GetProcessesByName(String, String)

Sumber:
Process.Linux.cs
Sumber:
Process.Linux.cs
Sumber:
Process.Linux.cs

Membuat array komponen baru Process dan mengaitkannya dengan semua sumber daya proses di komputer jarak jauh yang berbagi nama proses yang ditentukan.

public:
 static cli::array <System::Diagnostics::Process ^> ^ GetProcessesByName(System::String ^ processName, System::String ^ machineName);
public static System.Diagnostics.Process[] GetProcessesByName (string? processName, string machineName);
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static System.Diagnostics.Process[] GetProcessesByName (string? processName, string machineName);
public static System.Diagnostics.Process[] GetProcessesByName (string processName, string machineName);
static member GetProcessesByName : string * string -> System.Diagnostics.Process[]
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
static member GetProcessesByName : string * string -> System.Diagnostics.Process[]
Public Shared Function GetProcessesByName (processName As String, machineName As String) As Process()

Parameter

processName
String

Nama proses yang ramah.

machineName
String

Nama komputer pada jaringan.

Mengembalikan

Array jenis Process yang mewakili sumber daya proses yang menjalankan aplikasi atau file yang ditentukan.

Atribut

Pengecualian

Sintaks machineName parameter tidak valid. Panjangnya mungkin nol (0).

Parameternya machineName adalah null.

Platform sistem operasi tidak mendukung operasi ini pada komputer jarak jauh.

Upaya untuk menyambungkan machineName ke gagal.

-atau-

Ada masalah dalam mengakses API penghitung kinerja yang digunakan untuk mendapatkan informasi proses. Pengecualian ini khusus untuk Windows NT, Windows 2000, dan Windows XP.

Terjadi masalah saat mengakses API sistem yang mendasar.

Contoh

Contoh berikut mengambil informasi proses saat ini, proses yang berjalan di komputer lokal, semua instans Notepad yang berjalan di komputer lokal, dan proses tertentu di komputer lokal. Kemudian mengambil informasi untuk proses yang sama pada komputer jarak jauh.

#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.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

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

    End Class

End Namespace 'MyProcessSample

Keterangan

Gunakan metode ini untuk membuat array komponen baru Process dan mengaitkannya dengan semua sumber daya proses yang menjalankan file yang dapat dieksekusi yang sama pada komputer yang ditentukan. Sumber daya proses harus sudah ada di komputer, karena GetProcessesByName tidak membuat sumber daya sistem melainkan mengaitkannya dengan komponen yang dihasilkan Process aplikasi. processName dapat ditentukan untuk file yang dapat dieksekusi yang saat ini tidak berjalan di komputer lokal, sehingga array yang dikembalikan metode dapat kosong.

Nama proses adalah nama yang mudah diingat untuk proses, seperti Outlook, yang tidak menyertakan ekstensi .exe atau jalur. GetProcessesByName sangat membantu untuk mendapatkan dan memanipulasi semua proses yang terkait dengan file yang dapat dieksekusi yang sama. Misalnya, Anda dapat meneruskan nama file yang dapat dieksekusi sebagai processName parameter, untuk mematikan semua instans yang berjalan dari file yang dapat dieksekusi tersebut.

Meskipun proses Id unik untuk satu sumber daya proses pada sistem, beberapa proses di komputer lokal dapat menjalankan aplikasi yang ditentukan oleh processName parameter . Oleh karena itu, GetProcessById mengembalikan satu proses paling banyak, tetapi GetProcessesByName mengembalikan array yang berisi semua proses terkait. Jika Anda perlu memanipulasi proses menggunakan panggilan API standar, Anda dapat meminta setiap proses ini secara bergantian untuk pengidentifikasinya. Anda tidak dapat mengakses sumber daya proses melalui nama proses saja tetapi, setelah Anda mengambil array Process komponen yang telah dikaitkan dengan sumber daya proses, Anda dapat memulai, mengakhiri, dan memanipulasi sumber daya sistem.

Anda dapat menggunakan kelebihan beban ini untuk mendapatkan proses di komputer lokal serta pada komputer jarak jauh. Gunakan "." untuk menentukan komputer lokal. Ada kelebihan beban lain yang menggunakan komputer lokal secara default.

Anda dapat mengakses proses pada komputer jarak jauh hanya untuk melihat informasi, seperti statistik, tentang proses. Anda tidak dapat menutup, mengakhiri (menggunakan Kill), atau memulai proses pada komputer jarak jauh.

Lihat juga

Berlaku untuk

GetProcessesByName(String)

Sumber:
Process.cs
Sumber:
Process.cs
Sumber:
Process.cs

Membuat array komponen baru Process dan mengaitkannya dengan semua sumber daya proses di komputer lokal yang berbagi nama proses yang ditentukan.

public:
 static cli::array <System::Diagnostics::Process ^> ^ GetProcessesByName(System::String ^ processName);
public static System.Diagnostics.Process[] GetProcessesByName (string? processName);
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static System.Diagnostics.Process[] GetProcessesByName (string? processName);
public static System.Diagnostics.Process[] GetProcessesByName (string processName);
static member GetProcessesByName : string -> System.Diagnostics.Process[]
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
static member GetProcessesByName : string -> System.Diagnostics.Process[]
Public Shared Function GetProcessesByName (processName As String) As Process()

Parameter

processName
String

Nama proses yang ramah.

Mengembalikan

Array jenis Process yang mewakili sumber daya proses yang menjalankan aplikasi atau file yang ditentukan.

Atribut

Pengecualian

Ada masalah dalam mengakses API penghitung kinerja yang digunakan untuk mendapatkan informasi proses. Pengecualian ini khusus untuk Windows NT, Windows 2000, dan Windows XP.

Contoh

Contoh berikut mengambil informasi proses saat ini, proses yang berjalan di komputer lokal, semua instans Notepad yang berjalan di komputer lokal, dan proses tertentu di komputer lokal. Kemudian mengambil informasi untuk proses yang sama pada komputer jarak jauh.

#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.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

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

    End Class

End Namespace 'MyProcessSample

Keterangan

Gunakan metode ini untuk membuat array komponen baru Process dan mengaitkannya dengan semua sumber daya proses yang menjalankan file yang dapat dieksekusi yang sama di komputer lokal. Sumber daya proses harus sudah ada di komputer, karena GetProcessesByName tidak membuat sumber daya sistem melainkan mengaitkannya dengan komponen yang dihasilkan Process aplikasi. processName dapat ditentukan untuk file yang dapat dieksekusi yang saat ini tidak berjalan di komputer lokal, sehingga array yang dikembalikan metode dapat kosong.

Nama proses adalah nama yang mudah diingat untuk proses, seperti Outlook, yang tidak menyertakan ekstensi .exe atau jalur. GetProcessesByName sangat membantu untuk mendapatkan dan memanipulasi semua proses yang terkait dengan file yang dapat dieksekusi yang sama. Misalnya, Anda dapat meneruskan nama file yang dapat dieksekusi sebagai processName parameter, untuk mematikan semua instans yang berjalan dari file yang dapat dieksekusi tersebut.

Meskipun proses Id unik untuk satu sumber daya proses pada sistem, beberapa proses di komputer lokal dapat menjalankan aplikasi yang ditentukan oleh processName parameter . Oleh karena itu, GetProcessById mengembalikan satu proses paling banyak, tetapi GetProcessesByName mengembalikan array yang berisi semua proses terkait. Jika Anda perlu memanipulasi proses menggunakan panggilan API standar, Anda dapat meminta setiap proses ini secara bergantian untuk pengidentifikasinya. Anda tidak dapat mengakses sumber daya proses melalui nama proses saja tetapi, setelah Anda mengambil array Process komponen yang telah dikaitkan dengan sumber daya proses, Anda dapat memulai, mengakhiri, dan memanipulasi sumber daya sistem.

Lihat juga

Berlaku untuk