Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[12421] [질문]소스 좀 봐주세요~뭐가 잘 못됐죠?
김현승 [couping] 1550 읽음    2009-02-07 00:50
여기 소스를 보면 단축키 Ctrl+1을 저장을하고 메모장에 커서를 두고 단축키 Ctrl+1을 누르면 키보드 이벤트를 실행해서 숫자 '0'을 쓰도록 하는 예제로 만들고 있는데....
왜 안되는지.....
뭐가 잘못됐나요???

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }      
    procedure WMHotKey(var Message: TMessage); message WM_HOTKEY; 
    procedure WriteText;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  UnregisterHotKey(Handle, 201);
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  mHandle : THandle;
  isRegisterd : Boolean;
begin
//레지스터에 단축키 등록
  isRegisterd := RegisterHotKey(Handle, 201, MOD_CONTROL, Ord('1')); //Control + 1
  if not isRegisterd then ShowMessage('등록실패');
end;

procedure TForm1.WMHotKey(var Message: TMessage);
begin
  case Message.WParam of
    201 : begin
      //ShowMessage('');
      WriteText;
    end;
  end;
end;

procedure TForm1.WriteText;
var
  param : integer;
begin
  param := 48;
      Keybd_Event( param, MapVirtualkey( param, 0 ), 0, 0 );
      Keybd_Event( param, MapVirtualkey( param, 0 ), KEYEVENTF_KEYUP, 0 );
end;


end.


+ -

관련 글 리스트
12421 [질문]소스 좀 봐주세요~뭐가 잘 못됐죠? 김현승 1550 2009/02/07
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.