AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Anwendung beim Windows-Start ausblenden ?
Thema durchsuchen
Ansicht
Themen-Optionen

Anwendung beim Windows-Start ausblenden ?

Ein Thema von thomas2009 · begonnen am 8. Jan 2009 · letzter Beitrag vom 8. Jan 2009
Antwort Antwort
thomas2009
(Gast)

n/a Beiträge
 
#1

Anwendung beim Windows-Start ausblenden ?

  Alt 8. Jan 2009, 10:54
Hallo

mein Programm startet beim Windows-Start:
Delphi-Quellcode:
...
Registry.WriteString(extractfilepath(application.ExeName)+Application.ExeName + ' nebenuhrbinich', Application.ExeName);...
Delphi-Quellcode:
program Project1;
uses
  Forms,
  Unit1 in 'Unit1.pas{Form1},
  Unit2 in 'Unit2.pas{Form2};

{$R *.res}
procedure HideForms;
begin
Form2.Timer1.Enabled:=True;
end;

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);

 if Paramstr(1) = 'nebenuhrbinichthen
  HideForms else
  Form1.Caption:=Paramstr(1);

end.


__________
procedure TForm2.Timer1Timer(Sender: TObject);
begin
timer1.Enabled:=false;
Form2.Hide;
Form1.Hide;
end;
Das Problem: Wenn ich das Programm "project1.exe" über den Parameter "nebenuhrbinich" aufrufe:
C:\Project1.exe nebenuhrbinich
dann wird es von Windows beendet : "Project1.exe" hat ein Problem festgestellt und muss beendet werden

wenn ich das Programm direkt starte dann läuft ohne Probleme

wo kann das Problem liegen?
Ich möchte das Programm über einen Parameter Versteckt starten und über das Icon neben Uhr einblenden
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

Re: Anwendung beim Windows-Start ausblenden ?

  Alt 8. Jan 2009, 11:03
Hallo,

warum versteckst Du die Formulare per Timer und auf welche Zeit íst der eingestellt?
Hast Du im Programm eine Funktion, um das TrayIcon zu erstellen? Bei der JVCL gibt es eine entsprechende Komponente, damit sollte das eigentlich problemlos funktionieren, in dem Du da die entsprechenden Attribute setzt. Da kannst Du dann auch konfigurieren ob das Programm bei Doppelklick wieder in den Vordergrund kommen soll und sich beim Minimieren wieder in den SysTray zurück begibt...
  Mit Zitat antworten Zitat
chipNET

Registriert seit: 28. Mär 2004
5 Beiträge
 
#3

Re: Anwendung beim Windows-Start ausblenden ?

  Alt 8. Jan 2009, 12:14
Wenn du ja doch die Anwendung in den Systray minimieren möchtest, dann greife doch auf die CoolTrayIcons Komponenten zurück. Da ist alles bereits fertig.

PS: In deinem Code fehlt übrigends ein Application.Run;
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#4

Re: Anwendung beim Windows-Start ausblenden ?

  Alt 8. Jan 2009, 12:22
Was erwartest du denn als Ergebnis von diesem Ausdruck:

extractfilepath(application.ExeName)+Application.ExeName Sowas wie "C:\C:\Project1.exe"?
Uwe Raabe
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Anwendung beim Windows-Start ausblenden ?

  Alt 8. Jan 2009, 12:24
ehrlich gesagt verstehe ich auch nicht warum du einen Timer verwendest um die Formulare auszublenden. Wenn du willst das sie nicht angezeigt werden dann ist es besser dies von vornherein so zu machen anstelle diese erst anzeigen zu lassen um sie dann per timer wieder auszublenden.

Der Fehler wird im übrigend wohl am fehlenden Application.Run mit liegen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
thomas2009
(Gast)

n/a Beiträge
 
#6

Re: Anwendung beim Windows-Start ausblenden ?

  Alt 8. Jan 2009, 12:27
Zitat von Uwe Raabe:
Was erwartest du denn als Ergebnis von diesem Ausdruck:

extractfilepath(application.ExeName)+Application.ExeName Sowas wie "C:\C:\Project1.exe"?
Du kannst selbe testen
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Caption:=extractfilepath(application.ExeName)+Application.ExeName;
end;
_____________

Gibt es eine andere Idee ausser Timer?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Anwendung beim Windows-Start ausblenden ?

  Alt 8. Jan 2009, 12:29
hat er und daraus resultiert seine Frage. Denn genau das von ihm beschriebene Beispiel müsste dabei raus kommen
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#8

Re: Anwendung beim Windows-Start ausblenden ?

  Alt 8. Jan 2009, 12:41
Hallo,

der Dateiname ist bestimmt strubbelig, wobei mir schleierhaft ist, wieso Windows mit dem Eintrag das Programm überhaupt starten kann, oder resultiert die Fehlermeldung daraus, dass Windows nicht weiß, was es hier starten soll und deshalb eine Fehlermeldung ausgibt

Ausser Timer:
Delphi-Quellcode:
procedure HideForms;
begin
  Form2.Hide;
  Form1.Hide;
end;

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  if Paramstr(1) = 'nebenuhrbinichthen HideForms
  else Form1.Caption:=Paramstr(1);
  Application.Run;
end.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#9

Re: Anwendung beim Windows-Start ausblenden ?

  Alt 8. Jan 2009, 13:04
Sowas in der Art könnte auch ganz hilfreich sein:

Delphi-Quellcode:
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  if Paramstr(1) = 'nebenuhrbinichthen begin
    Application.ShowMainForm = False;
    Form1.Visible := false;
  end
  else
    Form1.Caption:=Paramstr(1);
  Application.Run;
end.
Uwe Raabe
  Mit Zitat antworten Zitat
thomas2009
(Gast)

n/a Beiträge
 
#10

Re: Anwendung beim Windows-Start ausblenden ?

  Alt 8. Jan 2009, 19:33
Es hat gekappt mit diese Code:
Delphi-Quellcode:
procedure HideForms;
begin
  Form2.Hide;
  Form1.Hide;
// Form2.Timer1.Enabled:=true; // geht auch genauso
Application.Run; {habe ich nachträglich hinzugefügt, da das Programm wieder beim Starten einen Fehler verursacht und musste beendet werden}
end;

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  if Paramstr(1) = 'nebenuhrbinichthen HideForms
  else Form1.Caption:=Paramstr(1);
  Application.Run;
end.
Das lag also wie @SirThornberry vermutet hat

Mit dem Timer klappt auch jetzt, nachdem ich den seine Interwahl erhöht habe
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz