public void Stop() { SetupServer.Close(); //Setup 서버 닫기 if (res != null) { res.Close(); //메시지 수신 서버 닫기 res = null; } }
//생성자의 가시성을 private으로 접근 지정하여 단일 개체외에 다른 개체를 생성할 수 없게 하세요. private Remote() { //UI 자동화 기술에서는 최상위 자동화 요소를 구하는 정적 속성을 제공하고 있습니다. //다른 방법도 있지만 여기에서는 이를 이용하여 데스크 톱의 사각 영역을 구하기로 할게요. //이 방법은 일반적인 방법은 아닙니다. //제가 소프트웨어 접근성에 관심을 갖고 있어서 이를 사용한 것일 뿐입니다. //UI 자동화 기술을 사용하기 위해서는 [그림 9]처럼 UI 자동화 기술에 관한 .NET 어셈블리를 참조 추가해야 합니다. //UIAutomationClient.dll, UIAutomationClientSideProviders.dll, UIAutomationTypes.dll을 참조 추가하세요. //그리고 Rect 형식은 WindowsBase.dll을 참조 추가해야 사용할 수 있습니다. AutomationElement ae = AutomationElement.RootElement; //최상위 자동화 요소 구하기 System.Windows.Rect rt = ae.Current.BoundingRectangle; //사각형 영역 구하기 Rect = new Rectangle((int)rt.Left, (int)rt.Top, (int)rt.Width, (int)rt.Height); //Rectangle형식으로 변환 SetupServer.RecvedRCInfo += new RecvRCInfoEventHandler(SetupServer_RecvedRCInfo); //원격제어 요청 수신 이벤트 메시지 핸들러 등록 SetupServer.Start(MyIP, NetworkInfo.SetupPort); //원격제어 요청 서버 가동 }