자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 15767
공지 유용한 관련 사이트 관리자2 2014.03.20 54582
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97993
1913 XE5 Trial 에서 PAserver 연결시 오류 문제 [1] file 강구 2013.10.08 6513
1912 XE5 안드로이드에서 Usb Accessory 가능? [1] 망치 2013.10.09 7365
1911 iOS 앱배포용 IPA 생성에 관한 문의입니다. [1] 바보고기 2013.10.12 7310
1910 class tspanel not found. 해결방법 부탁드립니다. [3] 으하하 2013.10.31 9043
1909 XE4로 개발한 프로그램 설치 파일 만들기. [2] 좋은사람 2013.10.31 7780
1908 class TAdvGridWorkbook not found 경우는 어떤 방법이 있나요? [1] 으하하 2013.11.01 7769
1907 RichEdit 관련해서 여쭤보고 싶습니다. [2] 한림대의료원정보기술센터 2013.11.15 7161
1906 Richedit에 대해 하나만 더 여쭙겠습니다. [1] 한림대의료원정보기술센터 2013.11.16 5969
1905 ios device deploy 오류 [3] awleeck 2013.11.17 6875
1904 XE5를 사용하여 아이폰앱개발을 동영상보고 따라하는데.. 도와주세요 [3] 임우식 2013.12.06 6645
1903 rtl160.bpl 파일을 찾을 수 없습니다. [1] 괴도코난 2013.12.11 7051
1902 델파이5에서 중국어를 지원할 수 있나요? [1] 하승수 2013.12.24 5712
1901 XE2 버젼에서 idHttp 에서 오류 [1] 파란하늘 2013.12.31 6302
1900 Richedit에 대해 질문 있습니다. RTF코드 추출 때문에 그렇습니다. [3] 한림대의료원정보기술센터 2013.12.31 5702
1899 XE5 Android 서비스 어플리케이션 개발 지원은 언제부터? [1] 김진석 2013.12.31 5475
1898 XE5에서 안드로이드앱 개발시 MySql 데이터를 어떻게 주고 받을 수 있나요? [6] 임우식 2014.01.08 6335
1897 Quick Report를 Fast Report로 빠르게 전환하는 방법은 ? [1] 관리자 2014.01.10 6110
1896 델파이/C++ 빌더 설치시 Fast Report 컴포넌트가 설치 안되어 있는데 지원되지 않습니까 ? [1] 관리자 2014.01.10 6610
1895 Datasnap에서 dbExpress와 FireDAC 중에서 어느것을 사용해야 하는지 문의합니다. [5] cdrd 2014.01.11 6517
1894 델파이 7 에서 델파이 xe5 로 마이그레이션에 대하여 [1] 규파파 2014.01.14 6070