如题。
主要目的是,当鼠标在本窗体以外的任意范围外点了左键或右键,即关闭本窗口。

解决方案 »

  1.   

    做一个 dll 用来hook。。
      

  2.   

    没必要用钩子,你在窗体失去焦点事件中写一句close即可。
      

  3.   

    楼主现在做delphi的已经不多了,你只给这点分显然是对问题不重要,我回答 的动力都没有了。算了,不跟你计较了,代码如下:unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ExtCtrls, StdCtrls;type
      TForm1 = class(TForm)
    //声明处:
        procedure MyProcessMsg( var message:TWMACTIVATEAPP); message WM_ACTIVATEAPP;
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.MyProcessMsg(var message: TWMACTIVATEAPP);
    begin
      if Message.Active=False then close;
    end;end.