■ PerformanceCounter 클래스 : 프로세스명으로 인스턴스명 딕셔너리 구하기 예제

------------------------------------------------------------------------------------------------------------------------

using System;

using System.Collections.Generic;

 

Dictionary<int, string> dictionary = GetInstanceNameDictionary("notepad");

 

foreach(KeyValuePair<int, string> keyValuePair in dictionary)

{

    int    processID    = keyValuePair.Key;

    string instanceName = keyValuePair.Value;

 

    Console.WriteLine("프로세스 ID : {0}, 인스턴스명 : {1}", processID, instanceName);

}

------------------------------------------------------------------------------------------------------------------------

 

■ PerformanceCounter 클래스 : 프로세스명으로 인스턴스명 딕셔너리 구하기

------------------------------------------------------------------------------------------------------------------------

using System.Collections.Generic;

using System.Diagnostics;

 

#region 인스턴스명 딕셔너리 구하기 - GetInstanceNameDictionary(processName)

 

/// <summary>

/// 인스턴스명 딕셔너리 구하기

/// </summary>

/// <param name="processName">프로세스명</param>

/// <returns>인스턴스명 딕셔너리</returns>

public Dictionary<int, string> GetInstanceNameDictionary(string processName)

{

    Dictionary<int, string> dictionary = new Dictionary<int, string>();

            

    PerformanceCounterCategory category = new PerformanceCounterCategory("Process");

 

    string[] instanceNameArray = category.GetInstanceNames();

 

    foreach(string instanceName in instanceNameArray)

    {

        if(instanceName.StartsWith(processName))

        {

            using(PerformanceCounter counter = new PerformanceCounter("Process", "ID Process", instanceName, true))

            {

                int processID = (int)counter.RawValue;

 

                dictionary.Add(processID, instanceName);

            }

        }

    }

 

    return dictionary;

}

 

#endregion

------------------------------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker
TAG

댓글을 달아 주세요