![]() |
autostart aber welcher pfad???
![]() genau so hab ichs gemacht und geht auch 1a :thumb: :thumb: :thumb: nur ma so ne frage: also wenn ich euch das programm jetzt zum download frei geb und ihr das euch aufn desktop zieht (machen nur kaoten aber man weiß ja nie ;) ) ihr das programm startet schreibt es sich in den autostart.... soweit alles klar ABER wenn ihr es nun in nen ordner verschiebt (nich aufm desktop oder da wo es beim ersten autostart war) dann dürfte das programm ja nich starten. daraus folgere ich programmpfad falsch --> programm startet nich bei dieser autostartlösung muss ich aber einen pfad eingeben ;)
Delphi-Quellcode:
ich kann aber keinen festen angeben weil ihr das ja überall hinspeichert warscheinlich aber nich da wo ich will^^
procedure TForm1.Button1Click(Sender: TObject);
begin CreateAutorunEntry(Application.Title,ParamStr(0), akUserRunOnce); // paramStr(0) ist der Pfad end; problem geblickt? lösungen? |
Re: autostart aber welcher pfad???
Im Normalfall ändert sich der Pfad doch nicht, zumindest ist das nicht vorgesehen und daher ist so eine Möglichkeit auch nicht nötig. Woher soll Windows denn wissen, wo sich dein Programm befindet?
Oder ich habe dein Problem nicht verstanden. |
Re: autostart aber welcher pfad???
Mit:
Delphi-Quellcode:
bekommst du den aktuellen Pfad deiner Anwendung.
ExtractFilePath(ParamStr(0))
Gruß |
DP-Maintenance
Dieses Thema wurde von "Phoenix" von "VCL / WinForms / Controls" nach "Sonstige Fragen zu Delphi" verschoben.
Geht nicht um Controls. |
Re: autostart aber welcher pfad???
Delphi-Quellcode:
var
pfad:string; begin pfad:=ExtractFilePath(ParamStr(0)); showmessage(pfad); //hier!!!!!!! end; also wenn ich den pfad ausgeben will kommt zugriffsverletzung^^ |
Re: autostart aber welcher pfad???
Aber nicht wegen des oben geposteten Codes, der ist in Ordnung. Der Fehler muss wo anders liegen.
|
Re: autostart aber welcher pfad???
Hi,
ich glaub jeder hier im Forum wäre froh wenn er sich ein Programm runterlädt, und es sich nicht gleich in den Autostart schreibt. Mach doch wenigestens eine Abfrage rein, ob man es im Autostart haben will oder nicht. Und in der Abfrage steht dann auch gleich ein Hinweis, mit welchem Programm-Pfad ein Eintrag im Autostart erstellt wird. Gruß, Martin |
Re: autostart aber welcher pfad???
Zitat:
wenn ich das showmessage raus mach passiert das nich aber dann schreibt er es auch nicht in den autostart
Delphi-Quellcode:
begin
pfad:=ExtractFilePath(ParamStr(0)); begin CreateAutorunEntry('mein prog', pfad, akUserRun); end; end; |
Re: autostart aber welcher pfad???
also in nem neuen project gehts... :(
dann geh ich ma ne runde auf fehlersuche |
Re: autostart aber welcher pfad???
Ich denke mal mit Pfad ist der komplette Pfad inkl. Dateiname gemeint, oder?
Also so, wie du es im ersten Beitrag stehen hast. ExtractFilePath() extrahiert nur den Pfad, während ParamStr(0) den Pfad inkl. Dateinamen zurück gibt. Gruß, Martin |
Re: autostart aber welcher pfad???
Ich bin wohl der einzige, der dein Problem nicht versteht. Ich habe es so verstanden:
Man führt deine Anwendung aus, diese schreibt sich in den Autostart und wird dann auch jedesmal korrekt gestartet. Wenn man nun deine Anwendung in ein andere Verzeichnis verschiebt, dann möchtest du, dass diese weiterhin mit Windows gestartet wird, auch ohne diese erneut manuell aufzurufen. Oder meinst du was anderes? Denn das geht nicht ohne weiteres und wäre, wie gesagt, auch nicht nötig. Oder meinst du was anderes? :duck: |
Re: autostart aber welcher pfad???
Zitat:
richtig :D ich hab NUR den pfad und nich den dateinamen angegeben jetzt schreibt er das auch in den autostart aber bei shwomessage() bringt er immernoch fehler :gruebel: egal problem gelöst thread als geschlossen erklärt |
Re: autostart aber welcher pfad???
Hallo,
mal ein ganz anderer Vorschlag. Wenn du dein Programm weitergeben willst, dann mach das doch mit einem richtigen Setup über InstallShield, Inno-Setup oder ähnlichen. Dann ist auch gewährleistet, das die Werte in der Registry nach der Deinstallation wieder sauber gelöscht werden. Sollte jemand auf die Idee kommen, das Programm anschliessend in einen anderen Ordner zu verschieben ist er selbst schuld, wenn es nicht mehr läuft. Jeder Windows-Nutzer sollte mittlerweile wissen, dass das nicht funktioniert. |
Re: autostart aber welcher pfad???
Zitat:
Sicher, dass diese Unit auch eingebunden ist? Evtl. verwendest Du ja ein "anderes" ShowMessage, schreib mal Dialogs.ShowMessage(pfad); um sicherzugehen. @Matze: Ja, das Thema hat sich im Verlauf dieses Threads wohl mal wieder etwas geändert... Er wollte ja eigentlich nur wissen, wie er dieses Problem lösen kann, und nicht dass Windows den Pfad zu seinem Programm automatisch anpasst, wenn man es verschiebt. Dazu ja mein Vorschlag mit der Abfrage, ob man das Programm mit diesem Pfad auch so im Autostart stehen haben will :wink: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz