![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
a qui esta el codigo ....
Código:
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 := IncludeTrailingBackslash(DirDestino) + NombreLnk;
FicheroP.Save(PWChar(WFichero),False);
end;
__________________
El secreto de la libertad está en no tener miedo. |
|
#2
|
||||
|
||||
|
Puedes agregar dentro del with, la línea SetIconLocation(ArchivoIcono, IndiceIcono);
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
|
|
#3
|
|||
|
|||
|
gracias .... voy a probar con eso ....
__________________
El secreto de la libertad está en no tener miedo. |
|
#4
|
|||
|
|||
|
bueno .. ya casi lo tengo ...
el Acceso Directo tiene una referencia al ArchivoIcono. Yo le puse el IndiceIcono = 0 el tema es que no encuentra el ArchivoIcono . .. cuando voy a las propiedades del Acceso Directo me dice ... no se puede encontrar ArchivoIcono, por ejemplo: "Windows no puede encontrar TESTING" previamente con el ImageEditor de delphi abri el .res del proyecto (del exe al que apunta el acceso directo) y cree un icono llamado testing tambien probe ponerle testing.ico ... pero el tema es que no se windows donde busca el archivo del icono ... aparentemente no lo busca en el resource del exe ... tambien probe poner el .ico al lado del exe y nada. donde busca el acceso directo el icono que defino con la funcion SetIconLocation(ArchivoIcono, IndiceIcono)????? gracias por vuestra ayuda
__________________
El secreto de la libertad está en no tener miedo. |
|
#5
|
||||
|
||||
|
Probé tu código "levemente modificado", y funciona:
Código:
procedure TForm1.Button1Click(Sender: TObject);
var
AComObject: IUnknown;
APersistFile: IPersistFile;
begin
AComObject := CreateComObject(CLSID_ShellLink);
with AComObject as IShellLink do
begin
OleCheck(SetArguments(''));
OleCheck(SetPath('C:\WINDOWS\CALC.EXE'));
OleCheck(SetWorkingDirectory('C:\WINDOWS'));
{Para que tome el ícono por Default}
//OleCheck(SetIconLocation(nil, 0));
{Para Otro ícono}
OleCheck(SetIconLocation('C:\WINDOWS\Moricons.dll', 10));
end;
AComObject.QueryInterface(IPersistFile, APersistFile);
APersistFile.Save('C:\ACCESO DIRECTO.LNK', False);
end;
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
|
|
#6
|
|||
|
|||
|
espectacular ... gracias delphi.com.ar
lo solucione con los parametros: ArchivoIcono = miIcono.ico IndiceIcono = 0 gracias ...
__________________
El secreto de la libertad está en no tener miedo. |
|
#7
|
|||
|
|||
|
Una pequeña pregunta.
¿Esta linea que utilidad tiene? ¿Podemos hacer el procedimiento sin esta linea verdad? OleCheck(SetWorkingDirectory('C:\WINDOWS')); Un saludos Muchas Gracias
__________________
La victoria tiene cien padres. La derrota es huérfana (Napoleón). |
|
#8
|
||||
|
||||
|
Cita:
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
|
![]() |
|
|
|