Pués eso,
necesito copiar un archivo al escritorio de Windows y no se como se hace. Alguien lo ha hecho algbuna vez?
Gracias.
Copiar archivo al Escritorio de Windows.
Copiar archivo al Escritorio de Windows.
Un Saludo
Carlos G.
FiveWin 19.06 + Harbour 3.2, BCC 7 Windows 10
Carlos G.
FiveWin 19.06 + Harbour 3.2, BCC 7 Windows 10
Re: Copiar archivo al Escritorio de Windows.
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
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
Chaco - Argentina
Re: Copiar archivo al Escritorio de Windows.
FiWidi
Intentalo asi:
Saludos,
Adhemar
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)
Adhemar
Saludos,
Adhemar C.
Adhemar C.
Re: Copiar archivo al Escritorio de Windows.
Gracias a ambos,
Voy a ver como me lo monto.
Voy a ver como me lo monto.
Un Saludo
Carlos G.
FiveWin 19.06 + Harbour 3.2, BCC 7 Windows 10
Carlos G.
FiveWin 19.06 + Harbour 3.2, BCC 7 Windows 10
Re: Copiar archivo al Escritorio de Windows.
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
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.
Re: Copiar archivo al Escritorio de Windows.
FiWidi;
Hola FiWidi,
Seguro que esta funció te lo soluciona.
Espero que te sirva.
Pere
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
Pere
Re: Copiar archivo al Escritorio de Windows.
Ya van apareciendo cosas...pcordonet wrote:FiWidi;
Hola FiWidi,
Seguro que esta funció te lo soluciona.
Espero que te sirva.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
Pere
Muchas gracias por el aporte, me será útil sin duda.
Un Saludo
Carlos G.
FiveWin 19.06 + Harbour 3.2, BCC 7 Windows 10
Carlos G.
FiveWin 19.06 + Harbour 3.2, BCC 7 Windows 10