🚀 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 20:27
Aplikacja zminimalizowana i na pasku tray
#89555
Author: DFpawel
Date: Sun, 03 Jan 2010 20:27
29 lines
789 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
#89556
Author: Solaris
Date: Wed, 20 Jan 2010 17:57
48 lines
1016 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
#89557
Author: DFpawel
Date: Thu, 21 Jan 2010 01:04
30 lines
757 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
#89560
Author: Koriolan
Date: Mon, 01 Feb 2010 07:07
26 lines
621 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