procedure TForm1.FormCreate(Sender: TObject);
var
  hSysMenu: integer;
begin
  hSysMenu := GetSystemMenu(Application.Handle, false);
  DeleteMenu(hSysMenu, 3, MF_BYPOSITION);
  DeleteMenu(hSysMenu, 2, MF_BYPOSITION);
  DeleteMenu(hSysMenu, 1, MF_BYPOSITION);
  DeleteMenu(hSysMenu, 0, MF_BYPOSITION);
  InsertMenu(hSysMenu, 0, MF_BYPOSITION, SC_ABOUT, Pchar('About')); //如何响应该菜单俺不懂
end;

解决方案 »

  1.   

    楼上的说法不错,我这儿有一个完整的程序,可以运行的,代码如下!
    unit Unit1; 
    interface 
    uses 
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; 
    type 
      TForm1 = class(TForm) 
        procedure FormCreate(Sender: TObject); 
      private 
        { Private declarations } 
        procedure wmSysCommand(var msg:TMessage); message WM_SYSCOMMAND; 
     public 
        { Public declarations } 
      end; 
    var 
      Form1: TForm1; 
    const 
      ID_ABOUT     =  WM_USER+1; 
      ID_HELP      =  WM_USER+2; 
      ID_NEWLINE   =  WM_USER+4; 
    implementation 
    {$R *.DFM} 
    procedure TForm1.FormCreate(Sender: TObject); 
    var 
      SysMenu:THandle; 
    begin 
      SysMenu := GetSystemMenu(Handle,False); 
      InsertMenu(SysMenu,Word(-1),MF_SEPARATOR,ID_NEWLINE,''); 
      InsertMenu(SysMenu,Word(-1),MF_BYPOSITION,ID_HELP, '帮助'); 
      InsertMenu(SysMenu,Word(-1),MF_BYPOSITION,ID_ABOUT, '关于...'); 
    end; 
    ///下面部分是响应相应的菜单的事件的!
    procedure TForm1.wmSysCommand; 
    begin 
      case Msg.wParam of 
        ID_ABOUT : ShowMessage('想知道什么?'); 
        ID_HELP  : ShowMessage('不会不懂吧,确实有点难度的!'); 
      end; 
      inherited; 
    end; 
    end.