![]() |
Re: Programmstart durch Autostart - kann man das herausfinde
Gut, werde ich mal probieren!
(Und ich finde es seltsam, dass sich ICQ und MSN sowie ein paar andere Programme extra wieder beenden obwohl ich möchte, dass die gestartet werden...ich finde das unnötige Programmierarbeit - und für mich mehr :? ) Flare |
Re: Programmstart durch Autostart - kann man das herausfinde
Also ich hab jetzt selber mal geguckt, als Arbeitsverzeichnis wird wohl der %HomePath% übergeben.
Ist das bei Dir auch so? |
Re: Programmstart durch Autostart - kann man das herausfinde
Bei mir ist das auch so. Also habe ich einfach mal eine Funktion gesucht womit man eben diesen Homepath bekommt und habe zum Glück bei Lucky nach langer Zeit
![]() Das dumme nur, für den Homepath scheint keine Konstante festgelegt zu sein, also habe ich durchgetestet und eine Zahl gefunden, die man als Homepath durchgehen lassen kann. Also habe ich das ganze schnell noch in mein Programm implementiert und siehe da: nix passiert :wall: Aber wenigstens weiß ich jetzt wie man die Funktion GetShellFolder verwendet :mrgreen: Hier mal mein relevanter Code, vielleicht habe ich ja auch irgendwo nen Fehler den ich nicht sehe:
Delphi-Quellcode:
procedure TForm3.buttonclick(Sender: TObject);
var button: TButton; name,workdir: string; begin if Sender is TButton then begin name := programs[(Sender as TButton).tag]; //z.B. "C:\Programme\Messenger\msmsgs.exe" /background if pos('"', name)>0 then begin //vielleicht kommt ja noch was hier rein end else begin name := '"' + name + '"'; end; workdir := GetShellFolder($0028); //z.B. C:\Dokumente und Einstellungen\Flare ShellExecute(Handle, nil, PChar(name), nil, PChar(workdir), 0); end; end; Flare |
Re: Programmstart durch Autostart - kann man das herausfinde
Versuch es doch mal so:
Delphi-Quellcode:
oder
Shellexecute(Handle, nil, 'C:\Programme\Messenger\msmsgs.exe', '/background', nil, 0);
Delphi-Quellcode:
Einfach mal ausprobieren ob es so geht. :-)
Shellexecute(Handle, nil, nil, '"C:\Programme\Messenger\msmsgs.exe" /background', nil, 0);
|
Re: Programmstart durch Autostart - kann man das herausfinde
Erstes klappt, Zweites nicht, wobei ich auch nicht weiß wieso das klappen sollte, da du alles als Parameter übergeben möchtest.
Allerdings klappt es auch nur mit dieser Exe! Wenn ich genau das mit ICQ mache passiert nämlich gar nix. Und außerdem habe ich dann wieder das Problem mit dem extrahieren des Parameters. Bei dem Messenger ist das ja noch einfach, da gibt es ja nur ein Leerzeichen aber darauf kann man sich ja nicht verlassen. Flare |
Re: Programmstart durch Autostart - kann man das herausfinde
Mcötest du einfach nur ICQ/MSN im Hintergrund starten?
Wenn ja: starte es normal über dein Programm und dann gibts glaube ich eine Messager, die man Programmen schicken kann, sodass sie "verschwinden"^^ |
Re: Programmstart durch Autostart - kann man das herausfinde
Zitat:
|
Re: Programmstart durch Autostart - kann man das herausfinde
Nein, das möchte ich nicht. Ich möchte es so starten, wie das Programm durch den Autostart gestartet werden möchte. Mein Programm soll ja einen Autostart simulieren der nur nicht direkt beim starten von Windows ausgeführt wird sondern erst wenn der User es möchte.
Flare |
Re: Programmstart durch Autostart - kann man das herausfinde
Hi,
ersetze mal:
Delphi-Quellcode:
durch:
ShellExecute(Handle, nil, PChar(name), nil, PChar(workdir), 0);
Delphi-Quellcode:
das ist der normale ShellExecute-Aufruf:
ShellExecute(Handle, 'open', PChar(name), nil, PChar(workdir), SW_ShowNormal);
Delphi-Quellcode:
ShellExecute(Handle, 'open', PChar(Dateiname), PChar(Parameter), PChar(Arbeitsverzeichnis), SW_ShowNormal);
|
Re: Programmstart durch Autostart - kann man das herausfinde
Ich würde ja jetzt gerne sagen, dass es geklappt hat, aber durch diese beiden Änderungen hat sich gar nix geändert.
Das war es also auch nicht. :wall: Vielleicht könnte ja mal jemand das bei sich probieren? Folgende Programme wollen sich nicht per meinem Programm starten: MSN 2 MSN 7.5 ICQ Lite 5.1 Quick Time MSN Plus 3 Flare |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:40 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