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
[42162] SendInput함수 예제....
최준호.스페로 [sparrow] 4918 읽음    2005-10-17 09:47
안녕하세요 스페로 입니다....

폼에 버튼을 하나 언저 놓고 버튼에 프로그래밍을 아래와 같이 합니다...
//---------------------------------------------------------------------------

#include <vcl.h>
#include <WinAble.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
  : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  // 토글 Caps Lock key:
  INPUT input[2];
  ::ZeroMemory(input, sizeof(input));
  input[0].type = input[1].type = INPUT_KEYBOARD;
  input[0].ki.wVk  = input[1].ki.wVk = VK_CAPITAL;
  input[1].ki.dwFlags = KEYEVENTF_KEYUP;
  ::SendInput(2, input, sizeof(INPUT));
}
//---------------------------------------------------------------------------

Button1 을 누르면 Caps Lock 키가 토글 됩니다...
도움이 되셨으면 합니다...

그럼 수고 하세요.

진짜초보 님이 쓰신 글 :
: msdn을 뒤져보다가 SendInput이라는 함수를 사용해야 될 것 같다는 생각이 드는군요... 이 함수 사용법이나 예제 있으신분 알려주시면 고맙겠습니다...
:
:
:
:
: 진짜초보 님이 쓰신 글 :
: : 몇 몇 게임들은 keybd_event('4',5,0,0) 함수를 사용해도 반응이 없는데요..... 이 함수를 대신할 수 있는 방법이 없나요....//(키보드의 4가 눌린 것 같이 애뮬레이트 되게하기 위해 방법을 찾고 있습니다. keybd_event는 타겟 프로그램에서 막아놓은 것 같아서요...다른 함수를 찾고 있습니다.)
: :
: : 그리고 SendMessage(핸들, WM_CHAR, 0, 0)의 경우에 WM_CHAR 의 인자 wParam에 인위적으로 값을 입력할 수 없나요? 키보드의 '4'가 눌린 것 같은 메시지를 인위적으로 만들 수 없나요?
: :
: : 고수분들의 지도 부탁드립니다...
: :
: : <추가>지금 확인해 보니 keybd_event(Byte('4'),5,0,0)으로 처리하면 4가 눌린 것으로 전달되기는 하는데, 불규칙하게 전달되는 것 같습니다. 즉 전달 되기도 하고 않되기도 하고...ㅜ.ㅜ 안정적으로 처리할 수 있는 방법은 없나요??
: : keybd_event('4',5,0,0);
: : keybd_event('4',5,KEYEVENTF_KEYUP,0);
: : 이렇게 하면 전달되지 않고
: : keybd_event(Byte('4'),5,0,0);
: : keybd_event(Byte('4'),5,KEYEVENTF_KEYUP,0);
: : 이렇게 해도 않되며
: : 오직
: : keybd_event(Byte('4'),5,0,0);
: : 만 해야 특정프로그램에 키보드 4가 눌린것으로 애뮬됩니다, 그러나 되다 않되다 불규칙적이라서...해결 방법이나 다른 함수 사용할 방법을 알려 주십시요...

+ -

관련 글 리스트
42155 keybd_event를 대신할 수 있는 방법좀 알려주셔요 진짜초보 1402 2005/10/16
42159     [자답]Re:keybd_event를 대신할 수 있는 방법좀 알려주셔요 진짜초보 2692 2005/10/16
42162         SendInput함수 예제.... 최준호.스페로 4918 2005/10/17
42190             Re:답변감사드립니다...죄송하지만 질문하나만 더 할께요.... 진짜초보 1575 2005/10/18
42191                 Re:Re:답변감사드립니다...죄송하지만 질문하나만 더 할께요.... civilian,안영제 1508 2005/10/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.