[C#] 가상 키(Key) 이벤트 보내기

[ ![Apple's Flat Keyboard](http://farm3.static.flickr.com/2543/4153789271_a0a01c21b6.jpg)](http://www.flickr.com/photos/30647744@N00/4153789271 "Apple's Flat Keyboard") Apple’s Flat Keyboard by [dmuth](http://www.flickr.com/photos/30647744@N00)[![저작자 표시](http://cfs.tistory.com/static/admin/editor/ccl_black01.png)![동일조건 변경허락](http://cfs.tistory.com/static/admin/editor/ccl_black03.png)](http://creativecommons.org/licenses/by-sa/2.0/kr/)
C#  뿐만 아니라, 많은 프로그래밍 언어에서는 키(KEY) 이벤트를 받아서 처리하는 이벤트 핸들러가 정의되어 있어서 쓰면 되는데, 가상으로 키 이벤트를 보내는 기능이 필요해서 찾아 보게 되었습니다. 그러던 중 발견한것. **SendKeys.Send() 함수**

SendKeys.Send() 함수를 이용하면 사용자가 키를 누르지 않았어도 마치 키 입력이 들어온것 처럼 할수가 있습니다. 예를 들어 SendKeys.Send(“{ENTER}”);  //엔터키를 눌렀다. 이런식으로 보낼수가 있습니다. 자주 쓰는 Ctrl+C, Ctrl+V 같은 경우에는 이렇게 표현할수 있겠죠. SendKeys.Send(“^c”); // Ctrl+c 키를 눌렀다. SendKeys.Send(“^v”); // Ctrl+v 키를 눌렀다. 일반 알파벳 키와 합쳐서 쓰기 위해서는 Ctrl = ^ Shift = + Alt = % 이런식으로 ” ” 알파벳키 앞에 붙여줘야 합니다. **특수키는 어떻게?**
그렇다면 특수키를 어떻게 쓸까요? (눈치 빠른 분들은 벌써 눈치 채신듯^^;;) 특수키의 경우네는 ” ”  문자열안에 { } 중괄호를 넣은 그 안에 특수키 이름을 넣어 줍니다. 예를들면SendKeys.Send(“{ENTER}”); SendKeys.Send(“{HELP}”);  SendKeys.Send(“{ESC}”);  SendKeys.Send(“{F1}”); 
이런식으로 넣어주면 됩니다. 참고 URL : [http://msdn.microsoft.com/ko-kr/library/system.windows.forms.sendkeys.aspx](http://msdn.microsoft.com/ko-kr/library/system.windows.forms.sendkeys.aspx) **C# 관련 이전글 **
[2009/11/24 – [Development] – [C#] Winform(윈폼) 제목표시줄에 안뜨게 하기](http://ash84.tistory.com/530) [2009/11/20 – [Development/C#] – [C#] Serial Port 구분하기.](http://ash84.tistory.com/526)