Добрый день господа программисты. Вот написал небольшой код, который позволяет помещать в панели задач с права мою прогу, но не как не могу избавиться от того что бы она не висела в TaskBar. Кто знает как такое сделать? Помогите! TaskBar - полоска внизу экрана, где есть кнопочки для запущенных приложений
| Код | unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormResize(Sender: TObject); private { Private declarations } procedure WMIconClick(var Message: TMessage); message WM_USER+1; procedure WMSize(var Message: TWMShowWindow); message WM_SHOWWINDOW; public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
uses ShellApi;
procedure TForm1.Button1Click(Sender: TObject); var idat: NotifyIconDataA; begin idat.cbSize := sizeof(idat); idat.Wnd := self.Handle; idat.uID := 1; idat.uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP; idat.uCallbackMessage := WM_USER+1; idat.hIcon := Application.Icon.Handle; idat.szTip := 'Hello!!!'; Shell_NotifyIcon(NIM_ADD,@idat); end;
procedure TForm1.WMIconClick(var Message: TMessage); begin if Message.LParam=WM_LBUTTONDBLCLK then begin ShowWindow(Application.Handle,SW_SHOW); Button2Click(self); end; end; procedure TForm1.Button2Click(Sender: TObject); var idat: NotifyIconDataA; begin idat.cbSize := sizeof(idat); idat.Wnd := self.Handle; idat.uID := 1; Shell_NotifyIcon(NIM_DELETE,@idat); end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Button2Click(self); end;
procedure TForm1.FormResize(Sender: TObject); begin if self.Visible = false then begin ShowWindow(Application.Handle,SW_HIDE); Button1Click(self); end; end;
procedure TForm1.WMSize(var Message: TWMShowWindow); begin if Message.Status=SW_PARENTCLOSING then begin ShowWindow(Application.Handle,SW_HIDE); Button1Click(self); Message.Result := 1; end; end;
end.
| |