Einzelnen Beitrag anzeigen

Benutzerbild von rainerg
rainerg

Registriert seit: 5. Aug 2002
Ort: Hannover
82 Beiträge
 
Delphi XE Starter
 
#13

AW: Feststellen, ob ein Programm als Autostart gestartet ist

  Alt 29. Mai 2011, 11:09
Das ist er auch, wenn das Programm per Explorer/Desktop/Verknüpfung/Startmenü gestartet wurde.

Einzige mir bekannte Möglichkeit: An allen bekannten Autostart-orten nachschauen, ob das Programm dort eingetragen ist. Dann weiß dein Programm, dass es im Autostart steht.

Bernhard
Mal genauer gesagt, was ich erreichen möchte:

Ich habe ein Programm geschrieben, dass Datum/Uhrzeit einer Datei setzt. Im Autostart-Modus soll das Proggi bei diesen Dateien, die in einer INI-Datei hinterlegt sind, das Dateidatum halt setzen, ohne es die Form angezeigt wird und sich dann selber beenden.
Wird das Proggi normal gestartet, dann soll das Form erscheinen, damit ich manuell Datum/Uhrzeit für eine Datei setzen kann und damit ich das Proggi konfigurieren kann, also z. B. die gewünschten Dateien auswähle. Und natrülich soll es sich nicht selber terminieren.

Zurzeit habe ich das wie folgt gelöst:

Delphi-Quellcode:
procedure TMainForm.FormActivate(Sender: TObject);
var i:integer;
begin
        IniCtrl.ReadStrings('Files','Item',FileListBox.Items);
        if UpperCase(ParamStr(1))='AUTOthen begin
          if FileListBox.Items.count>1 then begin
            for i:=1 to FileListBox.Items.Count do begin
              SetFileDate(FileListBox.Items[i],now);
            end;
          end;
          Application.Terminate;
        end;
end;
Ist also an der EXE der Parameter AUTO gehängt, dann setze das Datum (Okay - ein vorheriges Prüfen, ob die Datei da noch da, ist noch eine andere Baustelle, kommt aber noch rein ).

Aber wenn das Proggi selber merkt, dass es per Autostart gestartet wurde, wäre das ja unnötig.
Rainer G. aus H.
www.BunteReisebilder.de
  Mit Zitat antworten Zitat