방법: 서비스 목록 검색
업데이트: 2007년 11월
ServiceController 클래스의 GetServices 메서드를 사용하여 특정 컴퓨터에 있는 서비스 목록을 검색할 수 있습니다. GetServices 메서드는 장치 드라이버 관련 서비스를 제외하고 컴퓨터에서 사용 가능한 모든 서비스의 배열을 반환합니다. 장치 드라이버 서비스는 GetDevices 메서드로 검색할 수 있습니다.
이러한 두 메서드에 대해 관련 정보를 검색할 특정 컴퓨터를 선택하거나 매개 변수를 전달하지 않고 로컬 컴퓨터에만 있는 서비스를 검색할 수 있습니다.
서비스 목록을 검색하려면
쿼리 결과가 포함될 ServiceController 형식의 배열을 만듭니다.
다음 폼 중 하나를 사용하여 ServiceController 클래스의 적절한 메서드를 호출하고 배열에 결과를 설정합니다.
로컬 컴퓨터에서 장치 드라이버 서비스가 아닌 서비스를 검색하려면 다음과 같이 매개 변수를 사용하지 않고 GetServices 메서드를 호출합니다.
Dim services() As System.ServiceProcess.ServiceController services = System.ServiceProcess.ServiceController.GetServices()
System.ServiceProcess.ServiceController[] services; services = System.ServiceProcess.ServiceController.GetServices();
System.ServiceProcess.ServiceController services[]; services = System.ServiceProcess.ServiceController.GetServices();
특정 컴퓨터에서 장치 드라이버 서비스가 아닌 서비스를 검색하려면 다음과 같이 GetServices 메서드를 호출하고 정보를 검색할 컴퓨터를 문자열 매개 변수로 지정합니다.
Dim services() As System.ServiceProcess.ServiceController services = System.ServiceProcess.ServiceController.GetServices( _ "machinename")
System.ServiceProcess.ServiceController[] services; services = System.ServiceProcess.ServiceController.GetServices( "machinename");
로컬 컴퓨터에서 장치 드라이버 서비스를 검색하려면 다음과 같이 매개 변수를 사용하지 않고 GetDevices 메서드를 호출합니다.
Dim services() As System.ServiceProcess.ServiceController services = System.ServiceProcess.ServiceController.GetDevices()
System.ServiceProcess.ServiceController[] services; services = System.ServiceProcess.ServiceController.GetDevices();
특정 컴퓨터에서 장치 드라이버 서비스를 검색하려면 다음과 같이 GetDevices 메서드를 호출하고 정보를 검색할 컴퓨터를 문자열 매개 변수로 지정합니다.
Dim services() As System.ServiceProcess.ServiceController services = System.ServiceProcess.ServiceController.GetDevices( _ "machinename")
System.ServiceProcess.ServiceController[] services; services = System.ServiceProcess.ServiceController.GetDevices( "machinename");
다음 코드에서는 로컬 컴퓨터에서 서비스 집합을 검색하는 방법과 목록 상자에 개별 서비스 정보를 표시하는 방법을 보여 줍니다. GetServices 메서드가 ServiceController 개체의 배열을 반환한다는 점에 유의하십시오. 반환된 각 ServiceController는 다음과 같이 쿼리된 컴퓨터에 있는 서비스 하나를 나타냅니다.
Sub ListServices() Dim ListBox1 As ListBox Dim services() As System.ServiceProcess.ServiceController Dim i As Integer services = System.ServiceProcess.ServiceController.GetServices() ListBox1.Items.Clear() For i = 0 To services.Length - 1 ListBox1.Items.Add(services(i).ServiceName) Next End Sub
private void ListServices() { ListBox listBox1 = null; System.ServiceProcess.ServiceController[] services; services = System.ServiceProcess.ServiceController.GetServices(); listBox1.Items.Clear(); for (int i = 0; i < services.Length; i++) { listBox1.Items.Add(services[i].ServiceName); } }
이 코드 예제는 Visual Basic IntelliSense 코드 조각으로도 사용할 수 있습니다. 이 코드 조각은 코드 조각 선택기의 Windows 운영 체제 > Windows 서비스에 있습니다. 자세한 내용은 방법: 사용자 코드에 코드 조각 삽입(Visual Basic)을 참조하십시오.
참고 항목
작업
방법: ServiceController 구성 요소 인스턴스 만들기