Prog aus der Taskleiste verbannen

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
hanibal
Beiträge: 369
Registriert: Sa 3. Mär 2007, 16:03
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Bramsche (Emsland)

Prog aus der Taskleiste verbannen

Beitrag von hanibal »

hallo, wie kann ich machen, das ein prog nicht in der TAskleite erseint?

wenn ich schowintaskbar := never mache, dann wird das immer noch angezeigt :(
und wie kann ich machen, das das prog auf jedem desktop erscheint(virtuelle) ?

PS:Das wird ein panel für fluxbox, mit eingebautem mediaplayer, schnellstartleiste und n paar extras.

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Die Einstellung funzt nicht immer.

Irgendwo gabs dazu auch schonmal nen Beitrag hier.
(http://www.lazarusforum.de/viewtopic.ph ... wintaskbar" onclick="window.open(this.href);return false;)
Johannes

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

... ein paar Lazarus-Versionen später wird dem sicherlich auf den Grund gegangen worden sein...

shokwave
Beiträge: 475
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
CPU-Target: i386, x64
Wohnort: Gera

Beitrag von shokwave »

Um das Thema mal für fleißige Forensucher zu beenden(na ja - fast zu beenden). Ich stand gestern vor dem selben Problem und fand dann für Windows folgende Lösung:

Code: Alles auswählen

uses ...win32int, Interfacebase... 
 
procedure TForm1.FormCreate(Sender: TObject);
var HW:HWND;
begin
  HW:=TWin32WidgetSet(WidgetSet).AppHandle;
  SetWindowLong(HW, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
end;
Das aus Delphi bekannte "Application.Handle" gibt es in Lazarus nicht und wirds laut Bugtracker wohl nie geben, da es nicht plattformübergreifend ist.
Die Eigenschaft "ShowInTaskbar" funktioniert NICHT!!! bei der MainForm. Laut Bugtracker ist es fragwürdig ob es das jemals tun wird.

Wie's unter Linux/OSX... aussieht kann ich leider nicht sagen. Ich hoffe ich konnte trotzdem damit ein bisschen Licht ins Dunkel bringen. ;)

wbauer59
Beiträge: 10
Registriert: Fr 14. Dez 2007, 11:56

Prog aus der Taskleiste verbannen

Beitrag von wbauer59 »

Shokwaves Vorschlag funktioniert bei mir (Windows 2000) nicht.

Ich baue gerade ein Programm, dass die PC-Nutzungszeit meiner Kiddies begrenzt. Und da wäre es natürlich hilfreich, das Programm zu verstecken (es also nicht in der task bar und nicht im taskmanager zu zeigen).

Hat dazu jemand eine Idee?

Werner

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

Hallo Werner,

wenn du für deine Kinder ein eigenes Benutzerkonto einrichtest, das keine Administratorrechte besitzt, können sie den Taskmanager nicht mehr aufrufen.

Gruß, Euklid

wbauer59
Beiträge: 10
Registriert: Fr 14. Dez 2007, 11:56

Beitrag von wbauer59 »

Hallo Euklid,

ja, das ist auch ein Weg, um um den task manager herumzukommen. Lieber würde ich den Gatekeeper auch dort verstecken, dann könnte ich ihnen die Administratorrechte lassen und sie könnten ihre Spiele, Treiber, Fonts... und sowas weiterhin selbst installieren.

Aber wichtiger wäre das Programm aus der taskbar verschwinden zu lassen.

Gruß,
Werner

PS: Vielen Dank für Dein Astro Skript. Tolle Zusammenfassung für Leute wie mich.

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

wbauer59 hat geschrieben:Aber wichtiger wäre das Programm aus der taskbar verschwinden zu lassen.
hmmm, wenn aus hier dem Forum niemand eine Antwort weiß, probier mal das Englischsprachige auf lazarus.freepascal.org
Wenn die es nicht wissen, weiß es keiner ;)
PS: Vielen Dank für Dein Astro Skript. Tolle Zusammenfassung für Leute wie mich.
Freut mich. Fortsetzung folgt.... :)

wbauer59
Beiträge: 10
Registriert: Fr 14. Dez 2007, 11:56

Programm aus task bar und task manager verschwinden lassen

Beitrag von wbauer59 »

Ha, wer lesen kann ist klar im Vorteil: Im lazarus.freepascal.org-Forum habe ich gefunden wie es geht:

Programm aus task bar und task manger verschwinden lassen :

procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.Hide;
Form1.ShowInTaskBar := stNever;
end;

Und das Kaninchen wieder aus dem Hut zaubern geht so:

Form1.ShowInTaskBar := stDefault;
Form1.Show;

Vielen Dank Euklid für den Tip mit dem englischsprachigen Forum.

Grüße,
Werner

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Oder du nummst statt der Form ein Datamodule, ist noch ne ecke eleganter dann hat das Executable gar kein Fenster ist aber trotsdem keine Kommandozeilen App.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

wbauer59
Beiträge: 10
Registriert: Fr 14. Dez 2007, 11:56

Beitrag von wbauer59 »

Das klingt gut. Wie muß ich denn dann das Projekt anlegen? Ich habe immer Applikation gewählt, dann wird aber automatisch ein Form angelegt.

Kann ich mich da irgendwo einlesen oder weitere Hinweise bekommen?

mfg,
Werner

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Beitrag von knight »

Wie muß ich denn dann das Projekt anlegen?
Datei -> Neu ... -> File -> Datamodule

knight

wbauer59
Beiträge: 10
Registriert: Fr 14. Dez 2007, 11:56

Beitrag von wbauer59 »

schon klar, aber wie lege ich das Projekt an, dass das data module enthält?

Wenn ich einfach alles schließe und dann wie beschrieben ein data module anlege, kompiliert er das letzte Projekt, dass ich verwendet habe.

Also muß ich - so habe ich es zumindest bis jetzt verstanden - erstmal ein Projekt anlegen. Da generiert Lazarus dann aber gleich ein Form.

Was muß ich anders machen?

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

ich würde mal pauschal sagen, erst nen normales Projekt erstellen. Anschließnd kannst du ja noch ein Datenmodul anlegen und die Unit mit der Form aus dem Projekt entfernen, dann sollte es gehen.

(Projekt >> Aus Projekt entfernen...)
Johannes

wbauer59
Beiträge: 10
Registriert: Fr 14. Dez 2007, 11:56

Beitrag von wbauer59 »

Japp, so (Projekt als Applikation anlegen, Datamodule dazu, Form aus Projekt entfernen) funktioniert es prima. Vielen Dank für die Hilfe an alle. Nun pussel ich nur noch ein bißchen mit dem Rechnen von Uhrzeiten und Stunden und dann wird's was.

Antworten