🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.pascal
4 messages
4 total messages Started by DFpawel Sun, 03 Jan 2010 19:27
Aplikacja zminimalizowana i na pasku tray
#92959
Author: DFpawel
Date: Sun, 03 Jan 2010 19:27
28 lines
1619 bytes
Witam!


Piszę sobie na własne potrzeby prostą aplikację pod Windows, która po 
uruchomieniu będzie tylko na pasku tray. Ustawiłem Formę główną TForm 
ShowInTaskBar stNever dodatkowo w kodzie projektu:

var
ES:= Integer;

begin
   {$I Aplikacja1.lrs}
   Application.Initialize;
   ES:=GetWindowLong(HWND(nil), GWL_EXSTYLE);
   ES:=ES or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW;
   SetWindowLong(HWND(nil),GWL_EXSTYLE,ES);
   Application.CreateForm(TForm1, Form1);
   Application.Run;
end;

Dołożyłem komponent: TrayIcon1, ustawiłem ikonkę i po odpaleniu jest na 
pasku tray ale niestety nadal pojawia się na normalnym pasku menu.

Można prosić o wskazówkę co jeszcze ustawić żeby aplikacja jednak była 
tylko na tray?


Pozdrawiam DFpawel
Re: Aplikacja zminimalizowana i na pasku tray
#92960
Author: Solaris
Date: Wed, 20 Jan 2010 16:57
47 lines
2078 bytes
Dnia Sun, 03 Jan 2010 20:27:56 +0100, jakże pięknego
DFpawel <0.pawel@STOP.gazeta.pl> wystukał co zawarte poniżej:

: Można prosić o wskazówkę co jeszcze ustawić żeby aplikacja jednak była 
: tylko na tray?

Którą wersję Delphi posiadasz?

Application.MainFormOnTaskbar := false    // Delphi 2009


Inny przykład:

program Project1;

uses
Windows, Messages, 
Forms,
Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

type 
TWndHider = class
class function MessageHook(var Message: TMessage): Boolean;
end;

class function TWndHider.MessageHook(var Message: TMessage): Boolean;
begin
Result := False;
if (Message.Msg = WM_WINDOWPOSCHANGING) then
with TWMWindowPosChanging(Message).WindowPos^ do
if flags and SWP_SHOWWINDOW <> 0 then
flags := flags and not SWP_SHOWWINDOW;
end;

begin
Application.HookMainWindow(TWndHider.MessageHook);
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.


-- 
Contact: GG#44450, solargrim at gmail.com
19:16:28 -!- Platyna Erroneous Nickname 
Re: Aplikacja zminimalizowana i na pasku tray
#92961
Author: DFpawel
Date: Thu, 21 Jan 2010 00:04
29 lines
1767 bytes
Solaris pisze:

> Którą wersję Delphi posiadasz?

Nie posiadam już licencji na Delphi. Piszę programik w Lazarus 0.9.28.2 
wersja dla Windows. Na razie udało mi się żeby aplikacja była w tray, 
ale na pasku nadal jest..


> Application.MainFormOnTaskbar := false    // Delphi 2009

To rozwiązanie jest ładne i proste :) Ale nie istnieje taka właściwość w 
  obiekcie Application w LCL Lazarus. W drugim przykładzie natomiast 
jest błąd kompilacji:

pAplikacja.lpr(37,15) Error: identifier idents no member "HookMainWindow"

A kod w tej linijce wygląda tak:

   Application.HookMainWindow(TWndHider.MessageHook);

Wygląda to tak jakby obiekt nie widział tej funkcji.


Czy jest szansa żeby rozwiązać ten problem?


Pozdrawiam
Paweł
Re: Aplikacja zminimalizowana i na pasku tray
#92962
Author: Koriolan
Date: Mon, 01 Feb 2010 06:07
25 lines
1461 bytes
> > Application.MainFormOnTaskbar := false    // Delphi 2009
> 
> To rozwiązanie jest ładne i proste :) Ale nie istnieje taka właściwość w 
>   obiekcie Application w LCL Lazarus. W drugim przykładzie natomiast 
> jest błąd kompilacji:
> 
> pAplikacja.lpr(37,15) Error: identifier idents no member "HookMainWindow"
> 
> A kod w tej linijce wygląda tak:
> 
>    Application.HookMainWindow(TWndHider.MessageHook);
> 
> Wygląda to tak jakby obiekt nie widział tej funkcji.
> 
> 
> Czy jest szansa żeby rozwiązać ten problem?

A masz opcję :

{$MODE Delphi}

Może ona coś da ?

Koriolan
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads