Delphi 编程-最小化窗体并隐藏在任务栏中显示图标和进程名

procedure TForm1.WMSysCommand(var Message:TMessage);
var
   lpData:PNotifyIconData;
begin
  if Message.WParam = SC_ICON then
  begin
     //如果用户最小化窗口则将窗口隐藏并在任务栏上添加图标
     lpData := new(PNotifyIconDataA);
     lpData.cbSize := 88;//SizeOf(PNotifyIconDataA);
     lpData.Wnd := Form1.Handle;
     lpData.hIcon := Form1.Icon.Handle;
     lpData.uCallbackMessage := WM_BARICON;
     lpData.uID :=0;
     lpData.szTip := 'NBTOOLS';
     lpData.uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
     Shell_NotifyIcon(NIM_ADD,lpData);
     dispose(lpData);
     Form1.Visible := False;
  end
  else
  begin
     //如果是其它的SystemCommand消息则调用系统缺省处理函数处理之。
     DefWindowProc(Form1.Handle,Message.Msg,Message.WParam,Message.LParam);
  end;
end;


版权声明:本文为FOOLCODE原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。