你可以先定义Ctrl+C的热键,然后判断:
比如:
定义:
  RegisterHotKey( Handle, GlobalAddAtom('hotkey2'), 0, vk_F2);procedure TMainMenuFrm.WMHotKey(var Message: TWMHOTKEY);
begin
//定义热键事件
  case Message.HotKey of

解决方案 »

  1.   

    我是在下面这个事件中处理消息:
    procedure TForm1.AppMessage(var Msg: TMsg; var Handled: boolean);Appmessage是TMessageEvent类型的。
      

  2.   

    就是问如何判断
    当msg.message=WM_KEYDOWN时
    Msg.wParam是多少
      

  3.   

    我给你段代码你看看:
    procedure SendKey(H: Hwnd; Key: char);
    var vKey, ScanCode, wParam: Word;
        lParam, ConvKey: longint;
        Shift, Ctrl: boolean;
    begin
      ConvKey:= OemKeyScan(ord(Key));
      Shift:= (ConvKey and $00020000) <> 0;
      Ctrl:= (ConvKey and $00040000) <> 0;
      ScanCode:= ConvKey and $000000FF or $FF00;
      vKey:= ord(Key);
      wParam:= vKey;
      lParam:= longint(ScanCode) shl 16 or 1;
      if Shift then SendShift(H, true);
      if Ctrl then SendCtrl(H, true);
      SendMessage(H, WM_KEYDOWN, vKey, lParam);
      SendMessage(H, WM_CHAR, vKey, lParam);
      lParam:= lParam or $C0000000;
      SendMessage(H, WM_KEYUP, vKey, lParam);
      if Shift then SendShift(H, false);
      if Ctrl then SendCtrl(H, false);
    end;
      

  4.   

    多谢,我找到另外一个函数了 GetKeyState,可以判断Ctrl键