Du musst dir das passende Verzeichniss vom System holen.
Versuchs mal mit der "SHGetSpecialFolderPath()" funktion. Du musst dazu allerdings "ShlObj" bei deinen
uses einfügen!
zu SHGetSpecialFolderPath():
1) HWND setzt du auf "Form1.Handle"
2) lpszPath setzt du auf ne Variable vom Typ PAnsiChar
3) nFolder gibt den Ordner an, denn du haben möchtest (Der Ordner "Programme" im Startmenu wird mit CSIDL_PROGARMS angewählt. Es gibt aber noch vieeeele anderer interessante CSIDLs)
Delphi-Quellcode:
var
b:PAnsiChar;
StartmenuProgrammeOrdner:String;
LinkDatei:String;
begin
b := allocMem(MAX_PATH);
SHGetSpecialFolderPath(Form1.Handle, b, CSIDL_PROGRAMS, True);
StartmenuProgrammeOrdner := b;
FreeMem(b);
ShowMessage('So, der Startmenu "Programme" Ordner lautet also:' + #10 +
StartmenuProgrammeOrdner);
LinkDatei := StartmenuProgrammeOrdner + '\Ferby\Spiele\Plopp.lnk';
//Jetzt die Verknüpfung erstellen