Copiar archivo al Escritorio de Windows.

Post Reply
FiveWiDi
Posts: 910
Joined: Mon Oct 10, 2005 2:38 pm

Copiar archivo al Escritorio de Windows.

Post by FiveWiDi »

Pués eso,

necesito copiar un archivo al escritorio de Windows y no se como se hace. Alguien lo ha hecho algbuna vez?

Gracias.
Un Saludo
Carlos G.

FiveWin 19.06 + Harbour 3.2, BCC 7 Windows 10
User avatar
MarioG
Posts: 1356
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Copiar archivo al Escritorio de Windows.

Post by MarioG »

FiWidi;
Abriendo el Explorador (de XP) podras ver que la ruta es:
C:\Documents and Settings\All Users\Escritorio
De esta forma lo verán todos los usuarios creados en esa PC.
Ahora si lo querés particularizar deberías indicarle para que usario
C:\Documents and Settings\mariog\Escritorio

No obstante no lo vas a poder hacer muy genérico ya que Windows Vista y 7, si mal no recuerdo,lo tratan de otra manera

Saludos
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
acuellar
Posts: 1312
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Copiar archivo al Escritorio de Windows.

Post by acuellar »

FiWidi

Intentalo asi:

Code: Select all

  cUsuario:= GetEnv( "USERPROFILE" )
  If Left(cUsuario,8)="C:\Users" //Si está en Inglés
        cEscritorio:=cUsuario+"\desktop\ARCHIVO.lnk"
  Else
     cEscritorio:=cUsuario+"\escritorio\ARCHIVO.lnk"
 Endif
COPY FILE C:\ARCHIVO.LNK TO (cEscritorio)
 
Saludos,

Adhemar
Saludos,

Adhemar C.
FiveWiDi
Posts: 910
Joined: Mon Oct 10, 2005 2:38 pm

Re: Copiar archivo al Escritorio de Windows.

Post by FiveWiDi »

Gracias a ambos,

Voy a ver como me lo monto.
Un Saludo
Carlos G.

FiveWin 19.06 + Harbour 3.2, BCC 7 Windows 10
hmpaquito
Posts: 1200
Joined: Thu Oct 30, 2008 2:37 pm

Re: Copiar archivo al Escritorio de Windows.

Post by hmpaquito »

FiveWidi,

No lo tengo a mano, pero lo que yo hago es coger el path del escritorio de una clave del registro de windows. No lo cojo de variables de entorno ni otros sitios por la variedad de situaciones que se dan y que, creo, sólo cogiéndolo del registro no falla: Terminal Service, Versiones Windows, cambio del usuario, etc.

Saludos

FiveWiDi wrote:Gracias a ambos,

Voy a ver como me lo monto.
pcordonet
Posts: 110
Joined: Sat Jan 30, 2010 8:35 am
Location: Girona

Re: Copiar archivo al Escritorio de Windows.

Post by pcordonet »

FiWidi;

Hola FiWidi,

Seguro que esta funció te lo soluciona.

Code: Select all




#define CSIDL_PROGRAMS                  0x0002        // Start  Menu\Programs
#define CSIDL_DESKTOPDIRECTORY          0x0010        // <user  name>\Desktop

Function Main()
Local cEscritorio

cEscritorio:= GETSPECIALFOLDER(CSIDL_DESKTOPDIRECTORY)

Alert(cEscritorio,{"Ok"})


Return cEscritorio

*---------------------------------------------------------------*
Function GETSPECIALFOLDER(nCSIDL) // Contributed By Ryszard Rylko
*---------------------------------------------------------------*
RETURN C_getspecialfolder(nCSIDL)

#pragma BEGINDUMP

#include <windows.h>
#include <shlobj.h>

#include "hbapi.h"
#include "hbapiitm.h"


HB_FUNC( C_GETSPECIALFOLDER ) // Contributed By Ryszard RyRko
{
    char *lpBuffer = (char*) hb_xgrab( MAX_PATH+1);
    LPITEMIDLIST pidlBrowse;    // PIDL selected by user
    SHGetSpecialFolderLocation(GetActiveWindow(), hb_parni(1), &pidlBrowse)  
;
    SHGetPathFromIDList(pidlBrowse, lpBuffer);
    hb_retc(lpBuffer);
    hb_xfree( lpBuffer);
}


#pragma ENDDUMP
 
Espero que te sirva.

Pere
FiveWiDi
Posts: 910
Joined: Mon Oct 10, 2005 2:38 pm

Re: Copiar archivo al Escritorio de Windows.

Post by FiveWiDi »

pcordonet wrote:FiWidi;

Hola FiWidi,

Seguro que esta funció te lo soluciona.

Code: Select all




#define CSIDL_PROGRAMS                  0x0002        // Start  Menu\Programs
#define CSIDL_DESKTOPDIRECTORY          0x0010        // <user  name>\Desktop

Function Main()
Local cEscritorio

cEscritorio:= GETSPECIALFOLDER(CSIDL_DESKTOPDIRECTORY)

Alert(cEscritorio,{"Ok"})


Return cEscritorio

*---------------------------------------------------------------*
Function GETSPECIALFOLDER(nCSIDL) // Contributed By Ryszard Rylko
*---------------------------------------------------------------*
RETURN C_getspecialfolder(nCSIDL)

#pragma BEGINDUMP

#include <windows.h>
#include <shlobj.h>

#include "hbapi.h"
#include "hbapiitm.h"


HB_FUNC( C_GETSPECIALFOLDER ) // Contributed By Ryszard RyRko
{
    char *lpBuffer = (char*) hb_xgrab( MAX_PATH+1);
    LPITEMIDLIST pidlBrowse;    // PIDL selected by user
    SHGetSpecialFolderLocation(GetActiveWindow(), hb_parni(1), &pidlBrowse)  
;
    SHGetPathFromIDList(pidlBrowse, lpBuffer);
    hb_retc(lpBuffer);
    hb_xfree( lpBuffer);
}


#pragma ENDDUMP
 
Espero que te sirva.

Pere
Ya van apareciendo cosas...

Muchas gracias por el aporte, me será útil sin duda.
Un Saludo
Carlos G.

FiveWin 19.06 + Harbour 3.2, BCC 7 Windows 10
Post Reply