전체 글 254

[C#] 원격 제어 프로그램 19. MainForm

1. 유튜브 동영상 강의 원격 제어 프로그램 - 마지막 강의 2. MainForm 가상 커서와 원격 제어 화면과 상대 IP와 포트를 멤버를 선언합니다. string sip; //상대 IP int sport; //상대 port RemoteCleintForm rcf = null;//원격 호스트 화면(제어 화면) VirtualCursorForm vcf = null;//가상 커서 속성 창을 이용해서 Load 이벤트 핸들러를 등록하세요. private void MainForm_Load(object sender, EventArgs e) { 가상 커서 폼과 원격 제어 호스트 화면을 표시할 폼을 생성합니다. vcf = new VirtualCursorForm(); //가상 커서 생성 rcf = new RemoteClei..

[C#] 원격 제어 프로그램 - 보너스 트랙 1. 화면 캡쳐/이미지 송수신

1.유튜브 동영상 강의 [C#] 화면 캡쳐/이미지 송수신 2. 화면 캡쳐/이미지 송수신 안녕하세요. 언제나 휴일에 언휴예요. 이번 강의는 화면 캡쳐와 이미지를 전송하는 클라이언트 및 이미지를 수신하는 서버를 만들어 볼게요. 원격 제어 프로그램을 만들다가 갑자기 엉뚱한 걸 만든다고 생각하시나요? 7~9강까지 다룬 내용은 ImageClient, RecvImageEventArgs, ImageServer입니다. 이들은 이미지를 전송하고 수신하는 서버를 만들 때 사용할 수 있어요. 이번 강의는 이들을 라이브러리 형태로 만들고 이를 이용하는 프로그램을 만들 거예요. 어떻게 보면 부분적인 테스트를 하는 것이라 볼 수도 있겠죠. 2.1 이미지 송수신 라이브러리 만들기 7~9강까지 만든 파일로 라이브러리를 만들어요. 먼..

[C#] 원격 제어 프로그램 - 보너스 트랙 2. 오토 키보드 구현

1. 유튜브 동영상 강의 오토 키보드 구현 C#에서 Win32 API 사용 2. 오토 키보드 구현 안녕하세요. 언제나 휴일에 언휴예요. 현재 원격제어 프로그램 프로젝트에서 이미지를 송수신하는 부분까지 구현하였습니다. 이제 프로그램 방식으로 키보드와 이벤트를 발생시켜 제어하는 부분으로 넘어갈 단계입니다. 키보드와 마우스 이벤트 발생하면 이 정보를 전송하는 부분과 이를 수신하는 부분을 구현해야겠죠.. 그리고 수신한 곳에서는 프로그램 방식으로 키보드와 마우스 이벤트를 발생시켜야 합니다. 흔히 오토 마우스, 오토 키보드라고 말하는 프로그램에 사용하는 기술이죠. 그런데 키보드와 마우스 이벤트를 발생하는 것은 Win32 API에서 제공하고 있어요. 이를 이용하기 위해 마이그레이션을 할 거예요. 이 부분을 미리 학습..

[C#] 원격 제어 프로그램 - 보너스 트랙 3. 키보드 마우스 이벤트 송수신

1. 유튜브 동영상 강의 원격 제어 프로그램 - 키보드 마우스 이벤트 송수신 2. 키보드 마우스 이벤트 송수신 원격제어 프로그램 만들기에서 키보드와 마우스 이벤트 전송에 관해 구현한 것을 라이브러리로 만드는 실습을 합니다. 이를 참조하여 키보드와 마우스 이벤트를 전송하는 클라이언트 응용을 만듭니다. 또한 이를 수신하는 서버 응용을 만듭니다. 이를 통해 키보드와 마우스 이벤트 관련 라이브러리 제작에 문제가 있는지 테스트합니다. 원격 제어 프로그램 만들기 과정에서 중간에 테스트를 하기 위한 부분입니다. 동영상 강의를 참고하세요.

스택 - 버퍼 동적 할당

1. 스택 이번에 작성할 코드는 버퍼를 동적으로 할당받는 스택(STACK)입니다. 스택은 자료를 한쪽으로 보관하고 꺼내는 LIFO(Last In First Out) 방식의 자료구조입니다. 스택에 자료를 보관하는 연산을 PUSH라 말하고 꺼내는 연산을 POP이라고 말합니다. 그리고 가장 최근에 보관한 위치 정보를 TOP 혹은 스택 포인터라 말합니다. 2. 알고리즘 Push 연산 IF Top> MAX Then (꽉차면) Overflow (버퍼오버플로우) Else (꽉차지않을때) Top = Top +1 (Top 위치를 1 증가) Buffer[Top] = data (버퍼의 Top 위치에 data 보관) Pop 연산 IF Top=-1 Then (비었으면) Underflow (버퍼언더플로우) Else data = ..