Page 1 of 1

Copiar un acceso directo al escritorio

Posted: Fri Apr 03, 2009 12:36 pm
by acuellar
Hola a todos

Como puedo copiar un archivo de acceso directo al escritorio desde un programa.
Aqui el ejemplo

Code: Select all

#include "FiveWin.ch"

Function Main()
       local oDlg

   DEFINE DIALOG oDlg TITLE "Instalando..."
   
       @10,1 SAY ("Instalando el Sistema de Ordenes.  Espere...") OF oDlg UPDATE SIZE  235,10 PIXEL
    
    ACTIVATE DIALOG oDlg CENTER ON INIT CopiaArch( oDlg )
  
Return Nil
*
Function CopiaArch(oDlg)
     lMkDir( "C:\SISTEMAS" )
     lMkDir( "C:\SISTEMAS\ORDENES" )

    COPY FILE ORDENES.EXE TO C:\SISTEMAS\ORDENES\ORDENES.EXE
    COPY FILE ORDENES.DLL TO C:\SISTEMAS\ORDENES\ORDENES.DLL
    COPY FILE DATA\ORDENES.TXT TO C:\SISTEMAS\ORDENES\ORDENES.INI
    COPY FILE DATA\REPORTE.DBF TO C:\SISTEMAS\ORDENES\REPORTE.DBF
    COPY FILE \\FOSERVER\CUMPLE\IMPLST.EXE TO C:\WINDOWS\IMPLST.EXE
    COPY FILE DATA\ORDENES.LNK TO C:\SISTEMAS\ORDENES\ORDENES.LNK //[b]Este quiero copiar al escritorio[/b]
     
     oDlg:End()
     MsgInfo("Se ha instaldo el sistema Correctamente")
Return Nil  
 
Gracias amigos

Saludos

Adhemar Cuéllar

Re: Copiar un acceso directo al escritorio

Posted: Fri Apr 03, 2009 2:30 pm
by Patricio Avalos Aguirre
prueba con la funcion Gete() //retorna la variable de entorno

Code: Select all

local cEscritorio 

cEscritorio := Gete( "USERPROFILE" ) + "\escritorio\ordenes.lnk"

COPY FILE DATA\ORDENES.LNK TO (cEscritorio)
 
..
..

Re: Copiar un acceso directo al escritorio

Posted: Fri Apr 03, 2009 2:30 pm
by Armando
Adhemar:

Por lo que entiendo estas tratando de hacer una rutina que instale tu aplicación, si estoy
en lo correcto me parece que "estas gastando polvora en infiernitos" :)

Déjale el trabajo rudo a un instalador profesional como inno setup

http://www.jrsoftware.org/isinfo.php

Saludos

Re: Copiar un acceso directo al escritorio

Posted: Fri Apr 03, 2009 3:27 pm
by acuellar
Gracias distinguidos

En Xp funciana perfecto, y en vista me sale "Users", siendo que es en español "Usuarios", pero ya lo solucioné cambiando la palabra, ha no ser que se pueda detectar el idioma para no cambiarla.

También baje en Inno Setup, lo voy a probar me parece muy interesante.

Gracias nuevamente

Saludos

Adhemar