procedure TForm1.Button1Click(Sender: TObject);
begin
  //但函数返回值为0;不知道为什么???
  SendMessag(form1.handle,WM_QUIT,0,0);
   
end;

解决方案 »

  1.   

    SendMessage(form1.handle,WM_close,0,0);postMessage(form1.handle,WM_QUIT,0,0);
      

  2.   

    为什么通过
    SendMessage(form1.handle,WM_quit,0,0);
    发送WM_QUIT发送的消息不行呢!??
      

  3.   

    用procedure TForm1.Button1Click(Sender: TObject);
    begin
      //但函数返回值为0;不知道为什么???
      SendMessag(form1.handle,WM_QUIT,0,0);
       
    end;你会死锁消息栈,所以返回 0 ;因为SendMessage要等 form quit 之后才返回。PostMessage 不会死锁。用SendMessage(other_form.handle,WM_quit,0,0);则没问题!
      

  4.   

    SendMessage 在哪个units里面?
      

  5.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
    postMessage(form1.handle,WM_QUIT,0,0);
    end;end.通过
      

  6.   

    form1只是声明过,可能根本就没有实例化呢!
    你要敲self.handle才可以把自己关掉