원격 제어 프로그램을 만들기 전에 앞으로 작성할 형식들을 간략하게 소개할게요.
MainForm은 프로그램이 시작하면서 뜨는 폼으로 원격 제어를 요청하거나 허용하는 역할을 담당합니다.
RemoteClientForm은 원격 제어할 수 있게 원격 컨트롤러에게 원격 호스트의 화면을 보여주기 위한 폼입니다.
VirtualCursorForm은 원격 제어 호스트에 프로그램 방식의 인공 커서를 띄워 원격 컨트롤러가 마우스를 사용하여 제어하기 쉽게 시각화하는 폼입니다.
Controller는 원격 제어하는 곳에서 이미지 서버를 가동하고 이벤트 전송 클라이언트를 생성하는 역할을 담당합니다. 원격 제어 컨트롤러를 대표하는 클래스로 볼 수 있습니다.
Remote는 원격 제어 컨트롤러로부터 이벤트를 수신하는 서버를 가동하고 이를 수신하였을 때 처리할 곳에 전달하는 역할을 담당합니다. 원격 제어 호스트를 대표하는 클래스로 볼 수 있습니다.
SetupClient는 원격 제어 요청한 호스트의 IP 주소를 상대에게 전달하는 역할을 당당하는 클래스입니다.
SetupServer는 원격 제어 요청한 호스트의 IP 주소를 수신하여 이를 MainForm에 알리는 역할을 담당하는 클래스입니다.
ImageServer는 원격 제어 컨트롤러에서 원격 제어 호스트의 화면을 수신받는 클래스입니다.
ImageClient는 원격 제어 호스트의 화면을 원격 제어 컨트롤러에게 전송하는 클래스입니다.
SendEventClient는 원격 제어 컨트롤러에서 발생한 키보드와 마우스 이벤트를 원격 제어 호스트에게 전송하는 클래스입니다.
RecvEventServer는 원격 제어 호스트에서 원격 제어 컨트롤러가 보낸 키보드와 마우스 이벤트를 수신하는 클래스입니다.
RecvKMEEventArgs는 원격 제어 호스트가 키보드나 마우스 이벤트를 수신하였을 때 이벤트 처리하는 이벤트 핸들러에 전달할 이벤트 처리 인자입니다.
RecvKMEEvantHandler는 원격 제어 호스트가 키보드나 마우스 이벤트를 수신하였을 때 이벤트 처리하는 이벤트 핸들러를 위해 정의한 대리자입니다.
RecvImageEventArgs는 원격 제어 호스트의 화면을 원격 제어 컨트롤러에서 수신하였을 때 이벤트 처리하는 이벤트 핸들러에 전달할 이벤트 처리 인자입니다.
RecvImageEventHandler는 원격 제어 호스트의 화면을 원격 제어 컨트롤러에서 수신하였을 때 이벤트 처리하는 이벤트 핸들러를 위해 정의한 대리자입니다.
RecvRCInfoEventArgs는 원격 제어 요청을 수신하였을 때 이벤트 처리하는 이벤트 핸들러에 전달할 이벤트 처리 인자입니다.
RecvRCInfoEventHandler는 원격 제어 요청을 수신하였을 때 이벤트 처리하는 이벤트 핸들러를 위해 정의한 대리자입니다.
KeyFlag는 Windows API에서 정의한 키보드 이벤트 상수를 열거형으로 표현한 것입니다.
MouseFlag는 Windows API에서 정의한 키보드 이벤트 상수를 열거형으로 표현한 것입니다.
MsgType은 원격 제어기 프로그램에서 처리할 키보드와 마우스 이벤트 종류를 표현한 열거형입니다.
Meta는 키보드나 마우스 이벤트의 부가 정보를 표현한 클래스입니다.