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
etwas gefunden
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
Aber wenigstens weiß ich jetzt wie man die Funktion GetShellFolder verwendet
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