phpbar.de logo

Mailinglisten-Archive

[php] Windows .lnk erzeugen

[php] Windows .lnk erzeugen

Michael Raab php_(at)_phpcenter.de
Wed, 16 May 2001 10:51:26 +0200


Hallo,

at Wednesday 16.05.01 (07:52 +0200), Boris Penck wrote:
>nachdem ich gesehen habe das man ein excel-sheet bin=E4r erzeugen kann
>frage ich mich ob jemand weiss, wie ich eine windows .lnk (Verkn=FCpfung)
>erstelle. Im genauen - den pfad/datei auf den die verkn=FCpfung zeigt soll
>dynamisch generiert werden.
>
>Hat jemand ein Codeschnipsel oder eine Dokumentation wie diese .lnk
>Dateien aufgebaut sind um solch eine datei mit pack() zu erstellen ?`

Ich habe in meiner Delphi-Kiste rumgew=FChlt und folgendes gefunden:
--------------

uses activeX,comobj,shlobj;

const
   IID_IPersistFile: TGUID =3D=20
(D1:$0000010B;D2:$0000;D3:$0000;D4:($C0,$00,$00,$00,$00,$00,$00,$46));


function CreateLink(lpszPathObj,lpszPathLink,lpszDesc:string):Boolean;
var psl : IShellLink;
     ppf : IPersistFile;

begin
     result :=3D False;
     if SUCCEEDED(CoCreateInstance(CLSID_ShellLink, nil,=20
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 :=3D true;
//           ppf._Release;       ---> Runtime-Error wenn aktiv
          end;
        end;
//   psl._Release;              --->  Runtime-Error wenn aktiv
     end;

---------------------------------------

Mit PHP wirst DU wohl keine Chance haben. Oder hat PHP Zugriff auf die API=
=20
von Windows ?

Gru=DF
Michael

--=20
Phone   +49 5723 98077-0
Fax     +49 5723 98077-1
Mobil   +49 173 4315914
http://www.macbyte-computing.de/



php::bar PHP Wiki   -   Listenarchive