La Web del Programador: Comunidad de Programadores
 
    Pregunta:  1994 - CREAR UN ACCESO DIRECTO EN EL ESCRITORIO
Autor:  Federico Gordillo
necesito crear un acceso directo en el escritorio, pero no se cual es el formato de un archivo *.LNK y conque funciones puedo crearlo.
Desde ya muchas gracias.
Saludos Atte
Federico G.

  Respuesta:  rafa chardi
Hola te emvio unidad para que te la instales en los componentes y la puedas utilizar para la creacion de accesos directo . esta basada en la contestacion anterior.
Espero que te sirva de algo.

Por el tamaño de la respuesta, está en el archivo resp1994.txt

  Respuesta:  José Oronas
Antes que nada aclaro que el código que transcribo a continuación, no es mio no lo he probado y ni siquiera recuerdo como llego a mis manos, de todos modos la intención del autor es ayudar y bien lo está haciendo

Saludos .....

procedure TForm1.Button1Click(Sender: TObject);

procedure CreaLnk( Exe,Argumentos,DirTrabajo,NombreLnk,DirDestino:string);
var
Objeto: IUnknown;
UnSlink: IShellLink;
FicheroP: IPersistFile;
WFichero: WideString;
begin
Objeto := CreateComObject(CLSID_ShellLink);
UnSlink := Objeto as IShellLink;
FicheroP := Objeto as IPersistFile;
with UnSlink do
begin
SetArguments( PChar(Argumentos) );
SetPath( PChar(Exe) );
SetWorkingDirectory( PChar(DirTrabajo) );
end;
WFichero := DirDestino + ´\´ + NombreLnk;
FicheroP.Save(PWChar(WFichero),False);
end;

begin
CreaLnk( ´c:\windows\Notepad.exe´, {Ejecutable}
´c:\Autoexec.bat´, {Argumentos}
´c:\´, {Diretorio de trabajo}
´Editar Autoexec.lnk´, {Nombre del Acceso Directo}
´c:\windows\escritorio´ {Donde hay que crearlo}
);
end;