C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[53174] Re:Re:버튼 클릭으로 특정 키 누르는 효과 내려면...??
sunje [weeky] 2168 읽음    2008-04-18 10:15
김구진님 고맙습니다...
어떤식으로 해야 하나 난감했는데 알려 주신 방법을 사용하니 잘 되네요...
^^



콩깍지.김구진 님이 쓰신 글 :
: sunje 님이 쓰신 글 :
: : 안녕하세요.
: : 항상 도움만 요청하게 되네요...
: :
: : 질문은 버튼(Button1)을 클릭하면 특정키 (키보드 왼쪽의 ctrl와 숫자 1)를 누르는 효과를 주고자 합니다.
: : 예를 들면
: : 버튼을 클릭했을 경우 키보드의 " ctrl + C " 눌려 전체 복사를 한다든지 또는 " ctrl + V "를 눌려 붙여넣기의 효과를 주고 싶습니다.
: : 어떻게 하면 될까요?
: :
: : 윈도우 가상 키 코드를 보니까
: : 키보드 왼쪽의 ctrl는 "VK_CONTROL" 이고 숫자 1은 "VK_1"인 것은 알겠으나 어떤게 표현해야 할지 모르겠습니다.
: : 작은 팁이라도 부탁 드리겠습니다....
:
: 키보드 입력 효과를 사용할때에는 보통 keybd_event() 함수를 사용합니다.
:
: VOID keybd_event(
:   BYTE bVk,              // virtual-key code
:   BYTE bScan,           // hardware scan code
:   DWORD dwFlags,      // flags specifying various function options
:   DWORD dwExtraInfo   // additional data associated with keystroke
: );
:
: 아래는 예제입니다.
:
: = 윈도우키+E 키를 눌러서 윈도우 탐색기를 실행합니다.
:
:   keybd_event(VK_LWIN, 0x45, KEYEVENTF_EXTENDEDKEY | 0, 0);     // 윈도우키 다운
:   keybd_event(VK_E, 0x45, KEYEVENTF_EXTENDEDKEY | 0, 0); // E 키 다운
:   keybd_event(VK_E, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0); // E 키 업
:   keybd_event(VK_LWIN, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0); // 윈도우키 업
:
: 조합키의 경우 위와같이 사용하면 됩니다.
:
: 하지만 sunje님께서 하시려는게 이걸로 해결이 될지는 모르겠네요^^;
: 일반버튼은 누르는 순간 포커스가 버튼으로 가서 Ctrl+C 할때 원하는 동작이 안될것입니다.
:
: 작성중인 프로그램안의 기능이라면 스피드 버튼이나 팝업메뉴등으로 해결할 수 있지만,
: 다른 프로그램에서 해당 키보드 입력기능(?)을 하시려면 전역후킹등을 고려하셔야 할듯합니다^^;

+ -

관련 글 리스트
53154 버튼 클릭으로 특정 키 누르는 효과 내려면...?? sunje 1249 2008/04/17
53164     Re:버튼 클릭으로 특정 키 누르는 효과 내려면...?? 콩깍지.김구진 2916 2008/04/17
53174         Re:Re:버튼 클릭으로 특정 키 누르는 효과 내려면...?? sunje 2168 2008/04/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.