새로운 글
새로운 덧글

자유롭게 질의 및 응답을 할 수 있는 게시판이며 어느 누구도 답변을 달아야만 하는 의무는 없습니다. 
  • 제품설치/등록/제품 오류 문의: 설치/등록 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.

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2018.8~2018.11 관리자 2015.01.22 6058
공지 유용한 관련 사이트 관리자2 2014.03.20 43309
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 84890
2378 rad studio xe2 설치 프로그램 실행시 설치프로그램 강제 종료 secret 마구 2013.04.30 0
2377 델파이 프로그래밍언어 책 구입했는데요 [1] secret 나본좌 2012.04.10 1
2376 html5 buider 문의 드립니다. secret 2012.12.14 1
2375 paserver오류 [1] secret 최종호 2013.05.02 1
2374 DB 관련 질문 입니다! [1] secret 탄돌이 2013.06.17 1
2373 JVL이라는 라이브러리 관련에러 [1] secret 관리자 2015.02.25 1
2372 제품관련 질문입니다. [1] secret 우와 2014.07.17 2
2371 책 19쪽에 맨처음 하는 예제에서요 secret 나본좌 2012.04.11 2
2370 DB Query 문의 드립니다. [1] secret memc 2012.05.16 2
2369 Component들이 보이지 않습니다. secret 변보언 2013.01.22 2
2368 기본 bpl (rtl160.bpl등) 배포시 jdbg파일도 같이 배포해야 하나요? [1] secret 한림대의료원정보기술센터 2013.06.11 2
2367 string.format 함수의 한글 자리수 문제 secret kidb 2014.03.04 2
2366 비콘 안드로이스 샘플소스로 실행했는데 안됩니다. [2] secret kim 2015.12.04 2
2365 비콘신호 수신간격 조정을 어디서 해야하나요? [2] secret kim 2015.12.04 2
2364 Socket 에러 secret dreamingguy 2012.08.17 3
2363 MessageDlg 관련 질문입니다. [1] secret 신산 2013.06.20 3
2362 [한미반도체] 64BIT PACKGE관련문의 secret 키루루 2014.08.20 3
2361 위험감지앱이 감지를 했을때만 화면표시를 할 수 있나요? [2] secret kim 2015.12.02 3
2360 ChannelManager을 이용한 콜백 문의 secret lespaul06 2015.02.04 3
2359 base64인코딩 관련 [1] secret from5 2014.12.30 3



광고 모듈이 설치되어 있지 않아 실행을 중단합니다..