2020. 7. 27. 16:36ㆍ🧑🏻💻/C#
C#은 활성 애플리케이션에 키보드 입력을 출력 할 수 있도록 SendKeys라는 메서드를 지원합니다.
C/C++에서 사용하려면 dll 까지 추가하고 파라미터도 일일히 확인하고 키 맵도 확인해야 했던 기능이 C#에선 간단하게 구현할 수 있는것에 놀랐습니다.
C/C++ 사용 예시 : [DllImport("user32.dll")] |
이랬던 친구가
SendKeys.Send("Chanhhh");
이런 식으로 입력하면 "Chanhhh"를 입력할 수 있습니다. 활성화 돼있는 창에 키 Press 됩니다.
SendKeys.Send("찬히히");
물론 한글도 지원합니다.
SendKeys.Send("{ENTER}");
물론 특수 키도 지원 합니다. SendKeys 을 이용하여 특수 키(엔터키) 를 입력 해 봤습니다.
F1을 입력하기 위해서는 {F1} 을 인자로 주면 됩니다. ESC는 {ESC}
변수 또한 지원합니다.
String chan = "send char";
SendKeys.Send(chan);
SendKeys.Send(chan + "acter"); //복합도 지원
조합 키(Ctrl+C)는 아래처럼 사용하면 됩니다.
SendKeys.Send("^c");
여담 : 맨날 C만 사용하다가 C# 잠깐이라도 써보면 진짜 강력한 기능에 매번 놀랍니다. 이제껏 이래 힘들게 코딩해왔나 싶기도하고...
출처 및 참고. : MSDN 번역이 기계번역이여서 Parameter값에 오류가 있을 수 있으니 영문으로 보시는걸 추천 드립니다.
SendKeys.Send(String) Method (System.Windows.Forms)
키 입력을 활성 애플리케이션에 보냅니다.Sends keystrokes to the active application.
docs.microsoft.com
'🧑🏻💻 > C#' 카테고리의 다른 글
파일은 인터넷 또는 제한 영역에 있거나 파일에 웹 표시가 있으므로 처리할 수 없습니다. 이러한 파일을 처리하려면 웹 표시를 제거하세요. (0) | 2020.07.24 |
---|---|
[C#]Winform을 사용한 DataPush Tool (0) | 2020.07.14 |
[C#] String.Format 고정 소수점 표현 / 0채워 넣기 / 표준 숫자 서식 문자열 (0) | 2020.07.10 |
[C#] Delay 함수 (0) | 2020.06.30 |
[C#] DataGridView AutoScroll / 자동 줄 넘김[winform] (0) | 2020.06.26 |