当监测到用户进行某项操作(比如:复制)时,激发程序,该如何实现?

解决方案 »

  1.   

    除了HOOK我想不到更好的办法了。
    HOOK:Ctrl+C消息,运行程序
      

  2.   

    单个控件吗?
    那简单,可以替换消息过程,并截获它的消息unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        edt1: TEdit;
        procedure FormCreate(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
        procedure OnEdtMsg(var Msg : TMessage);
      end;var
      Form1: TForm1;
      FoldMethod : TWndMethod;
    implementation{$R *.dfm}{ TForm1 }{ TForm1 }procedure TForm1.FormCreate(Sender: TObject);
    begin
      FoldMethod := edt1.WindowProc;
      edt1.WindowProc := OnEdtMsg;
    end;procedure TForm1.OnEdtMsg(var Msg: TMessage);
    begin
      if Msg.Msg = wm_copy then ShowMessage('copy');
      FoldMethod(Msg);
    end;procedure TForm1.FormDestroy(Sender: TObject);
    begin
      edt1.WindowProc := FoldMethod;
    end;end.希望对你有帮助....
    如果是系统的,那可以通过钩子的方法