자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------

안녕하세요,  

 

동일한 소스로 테스트를 해봤습니다.  아주 간단한 소스인데..첨에 XE10 에서 안되길래

다른 방법(후킹이다 뭐다) 으로 해도 잘 안돼서.. Delphi7 으로 컴파일 해보니..잘 됩니다. ㅠㅠ

후킹으로 하는 거든, 단순한 키보드 이벤트로 하든  Delphi7 은 잘됩니다.

 

즉, [김] 을 스피드버튼으로 입력 시키면  XE10 에서는 ㄱ ㅣㅁ  이라고 나오고, Delphi7 에서는 [김] 제대로 나옵니다.

 

이거 때문에 며칠을 삽질하다가....도움 요청합니다.

 

 

 unit Unit6;

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, Buttons;

 

type

  TForm1 = class(TForm)

    Memo1: TMemo;

    SpeedButton1: TSpeedButton;

    SpeedButton2: TSpeedButton;

    SpeedButton3: TSpeedButton;

    procedure SpeedButton1Click(Sender: TObject);

    procedure SpeedButton2Click(Sender: TObject);

    procedure SpeedButton3Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

procedure SimulateKeystroke(VirtualKey: byte;  ScanCode: DWORD);

begin

  // keybd_event 함수를 사용한 키 조합(down, up) 발생

  keybd_event(VirtualKey, // 키의 down

              ScanCode,  0,  0);

  keybd_event(VirtualKey, // 키의 up

              ScanCode, KEYEVENTF_KEYUP,  0);

end;

 

procedure SimulateKeyDown(Key : byte);

begin

  // keybd_event 함수를 사용한 키 down 발생

  //keybd_event(Key, 0, 0, 0);

  keybd_event(Key,MapVirtualkey(key, 0),0, 0);

end;

 

procedure SimulateKeyUp(Key : byte);

begin

  // keybd_event 함수를 사용한 키 up 발생

  //keybd_event(Key, 0, KEYEVENTF_KEYUP, 0);

  keybd_event(Key,MapVirtualkey(Key, 0),KEYEVENTF_KEYUP,0);

end;

 

procedure TForm1.SpeedButton1Click(Sender: TObject);

begin

     SimulateKeyDown(Ord('R'));

     SimulateKeyUp(Ord('R'));

end;

 

procedure TForm1.SpeedButton2Click(Sender: TObject);

begin

     SimulateKeyDown(Ord('L'));

     SimulateKeyUp(Ord('L'));

end;

 

procedure TForm1.SpeedButton3Click(Sender: TObject);

begin

     SimulateKeyDown(Ord('A'));

     SimulateKeyUp(Ord('A'));

end;

 

end.

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 15634
공지 유용한 관련 사이트 관리자2 2014.03.20 54464
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97828
2859 Disconnected session [1] file 우린굉장해 2020.05.15 1050
2858 델파이로 만든 아파치모듈 배포 관련 궁금한 사항이 있습니다 루키 2020.05.12 133
2857 프로젝트 생성시 에러 관련 문의 [7] file 삼이 2020.04.07 387
2856 모발일 Sqlite 데이터베이스를... 김다니엘 2020.05.07 3988
2855 1개의 실행파일에 유닛(폼)을 몇개까지 담을수 있나요 ? 노력하는삶 2020.05.07 139
2854 안드로이드 모바일과 PC USB로 통신 [1] 권동한 2020.04.22 474
2853 [Push 세미나] 바코드, RFID 등 블루투스 장비와 파이어몽키 간 인터페이스 모듈 개발을 하고 싶습니다. 관리자 2020.05.04 255
2852 [Push 세미나] 웹 프로그램 제작 시 쿠키값 저장하는 샘플이 있을까요? 관리자 2020.05.04 942
2851 CppDBDataSnapServer, Client 예제 중 [1] file 토끼왕 2020.04.30 216
2850 사용자가 3명 정도인데, 2티어로 모바일앱을 구성해도 괜찮을까요 ? [1] 막스뮐러 2020.04.29 226
2849 RIO 10.3.1 에서 FastReport 를 설치 했는데 64bit 컴파일시 에러가 나옵니다. [2] 노력하는삶 2020.04.27 182
2848 RIO 10.3.1 에서 FastReport 를 삭제 후 재설치 하려고 하는데 삭제가 안되네요. [2] 노력하는삶 2020.04.28 172
2847 엑셀 저장 오류 [5] 똘귀아빠 2020.04.27 689
2846 Datasnap 서버 세션 관리 [1] 맛재현 2020.04.27 233
2845 Master / Detail 관계에서 DisableControls 사용시 문제 가나다 2020.04.27 171
2844 [FireDAC][Phys][Ora]Ora-12154:TNS:지정된 접속 식별자를 분석할 수 없음. [1] sch.delphi 2020.04.27 1583
2843 델파이로 개발된 GUI프로그램 관련 질문이 있습니다.. [1] 재춘이 2020.04.23 252
2842 RAD Server에서 TFDConnection 트랜잭션 미작동 질문 [4] clogic 2020.04.20 190
2841 RAD 서버 파일 업로드/ 다운로드 관련 [1] arabianwine 2020.04.10 224
2840 [질문]win7 에서 win10업그레이드 화면 딜레이현상 [1] 지호 2020.04.16 302