ich glaub so richtig hast du es noch nicht verstanden.
ExtractFilePath gibt doch den Pfad dessen zurück, was man ihm gibt.
und jetzt rate mal, was du ihm gegeben hast!
Tipp: schau mal was ParamStr(0) liefert (PS:
Application.ExeName mach das Selbe)
und Desktop ist bestimmt nicht das Verzeichnis, welches du meinst.