Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   crear un acceso directo (https://www.clubdelphi.com/foros/showthread.php?t=1534)

tango01 18-06-2003 14:10:44

crear un acceso directo
 
como hago para crear un acceso directo en el escritorio y en la carpeta de archivos de programas.
de manera que funcione tanto en win98 como nt y ya sea que el OS este en español o en ingles

gracias de antemano.

Investment 18-06-2003 16:15:17

TRUCO 203 del TRUCOMANIA:

-Añade ShlObj, ActiveX y ComObj en el uses de tu form
Y usa esta función para crear el acceso directo.

Por ejemplo, crear un acceso directo en el escritorio al Block de Notas que abra el Autoexec.bat:
Código:


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;


tango01 18-06-2003 22:01:13

gracias.

tango01 19-06-2003 16:05:28

no funciona el delphi 7 ....

alguna otra opcion????

delphi.com.ar 19-06-2003 17:25:31

Aunque no me agrada mucho este código, te recomendaría cambiar la línea, así tiene que funcionar!
Código:

WFichero := DirDestino + '' + NombreLnk;
por
Código:

WFichero := IncludeTrailingBackslash(DirDestino) + NombreLnk;
Saludos!

delphi.com.ar 19-06-2003 19:28:59

Me olvidé de algo... Si utilizas las RxLibs, en la unit FileUtil tienes las funciones CreateFileLink y DeleteFileLink para manejar accesos directos.

Saludos!

tango01 19-06-2003 20:06:41

ok, voy a probar eso.
probe las rx pero se ve que en delphi 7 no funcionan.

una consulta para que se define UnSlink y se le asignan los atributos si despues no se usan ... o si se usan ... en donde o como ?

tango01 20-06-2003 16:42:48

ahora si... con el
WFichero := IncludeTrailingBackslash(DirDestino) + NombreLnk;

anda joya.!!!

mercie


La franja horaria es GMT +2. Ahora son las 01:34:03.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi