자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 19660
공지 유용한 관련 사이트 관리자2 2014.03.20 58613
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 102135
2159 FMX로 안드로이드 개발 초보입니다. 백그라운드 기능을 개발하고싶습니다. delphiChobo 2018.08.20 265
2158 C 프로그램 콘솔 입니다. [2] 겨울잠안자는곰 2019.07.30 265
2157 dbx error ORALCE11g RAD 10.3.2 버전에러입니다. (평가판 문제입니다 ) [1] file 강순규 2019.08.30 265
2156 Delphi 10.2 Tokyo dbExpress 및 FireDAC 문의 [4] file 엘트 2019.09.19 265
2155 윈도우 기반으로 dll 호출방식의 MDI 폼을 만들때 문의 드립니다. [1] 박종원 2016.02.29 265
2154 [시작하는 사람들을 위한 델파이 프로그래밍] 모듈 7 - Exercise 2 [1] 관리자 2016.05.02 266
2153 ipworks 더이상 무상으로 지원 안되나요? [2] 별땅땅쫑 2019.02.22 266
2152 라디오 버튼값을 유지 할 수 있는 방법. 빅토스 2020.04.09 266
2151 퍼미션에 추가하려고하는데 항목이 없습니다. [1] file 처음처럼 2016.04.18 267
2150 IOS 앱 제출시 ERROR ITMS-90530 [1] kerry 2016.07.15 267
2149 ip4 주소형식을 ipv6 형식으로 변환하는 합수 없나요? kerry 2016.08.30 267
2148 개발툴 버전업(Delphi 7 -> Tokyo) : ocx 등록 관련 [1] 김기 2018.10.30 267
2147 화면을 엑셀과 유사하게 꾸밀수 있는 서드파티 컨트롤 추천 부탁 드립니다 [1] pisama 2019.05.30 267
2146 Getit 에서 제공되던 Winsoft의 컴포넌트 들이 안보입니다. sihwan 2021.07.15 267
2145 win32 에서는 FMX의 TSelection 같은 컴포넌트가 없을까요? [2] 아크나톤 2019.04.11 268
2144 Richedit 하아퍼링크 속성 DB 저장에 관하여 [1] 델마당쇠 2019.07.16 268
2143 Datasnap 서버 세션 관리 [1] 맛재현 2020.04.27 268
2142 TGridPanelLayout 아이템 삭제 [3] 공수래 2021.04.01 268
2141 IBConsol.exe 에러 [1] 스카이 2017.01.25 269
2140 [안드로이드]LocationSensor의 Accuracy / Distance 에 대한 문의 [1] 소란코더 2017.12.04 269