Entwickler-Ecke

Dateizugriff - Verknpfung erstellen...


Tweafis - Mi 18.06.03 20:51
Titel: Verknpfung erstellen...
Ja, genau das möchte ich tun, eine Verknüpfung erstellen, also solche die man auch per Kopieren und dann wo anders Verknüpfung einfügen.

Ich kann mir den Text von denen nicht anschauen, da ich dann die Datei selbst öffne (also die verknüpfte) Sind das sowas wie "Pointer" ???. Ich brauch das, da ich grade Sortiere und das über Verknüpfungen ermöglichen möchte. (Sind verknüpfungen zu mp3 dateien)

Hab schon in der Delphi + Auq Hilfe nachgeschaut...


matze - Do 19.06.03 10:29

ich hab folgende funktion im edh gefunden:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
function CreateLink(lpszPathObj,lpszPathLink,
  lpszDesc: string):Boolean;
var
  psl: IShellLink;
  ppf: IPersistFile;

const
  IID_IPersistFile: 
     TGUID = (D1:$0000010B;
              D2:$0000;
              D3:$0000;
              D4:($C0,$00,$00,$00,$00,$00,$00,$46));
begin
  result := False;
  if SUCCEEDED(CoCreateInstance(CLSID_ShellLink,
                                nil,
                                CLSCTX_INPROC_SERVER,
                                IID_IShellLinkA,
                                psl)) then
    begin
      psl.SetPath(PChar(lpszPathObj));
      psl.SetDescription(PChar(lpszDesc));
      if SUCCEEDED(psl.QueryInterface(IID_IPersistFile,
                   ppf)) then
        begin
          ppf.Save(StringToOLEStr(lpszPathLink),TRUE);
          Result := true;
          ppf._Release; //---> Runtime-Error wenn aktiv
        end;
    end;
  psl._Release; // ---> Runtime-Error wenn aktiv
end;


erster parameter: datei auf die gezeigt werden soll
2. para: beschreibung
3. para: wo soll die verknüpfung erstellt werden

du musst ausserdem ActiveX, ShlObj und ComObj einbinden


Tino - Do 19.06.03 10:51

Schau doch mal in die FAQ: ...eine Dateiverknüpfung (*.lnk) erstellen? [http://www.delphi-forum.de/viewtopic.php?t=877]

Gruß
Tino


Tweafis - Do 19.06.03 11:09

Danke euch :) Jetzt geht es. Geht auch viel schneller als normal kopieren und warum keine Verknüpfungen benutzen?