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
Author: DFpawel
Date: Sun, 03 Jan 2010 19:27
Date: Sun, 03 Jan 2010 19:27
28 lines
1619 bytes
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
Author: Solaris
Date: Wed, 20 Jan 2010 16:57
Date: Wed, 20 Jan 2010 16:57
47 lines
2078 bytes
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
Author: DFpawel
Date: Thu, 21 Jan 2010 00:04
Date: Thu, 21 Jan 2010 00:04
29 lines
1767 bytes
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
Author: Koriolan
Date: Mon, 01 Feb 2010 06:07
Date: Mon, 01 Feb 2010 06:07
25 lines
1461 bytes
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