• Martes 30 de Abril de 2024, 02:52

Autor Tema:  Portapapeles??????  (Leído 927 veces)

zed2000

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Portapapeles??????
« en: Lunes 28 de Mayo de 2007, 20:21 »
0
Hola, como puedo copiar un archivo al portapapeles
he intentado pero al pegar me sale un mensaje:
no se puede copiar el archivo: no se puede leer el disco o archivo de origen esta es la funcion
y se alguien tiene algun tutorial please.
gracias

FILE *entrada = fopen(argv[1], "rb")) == NULL);

while (!feof(entrada))
          {
fread(bufer, 1, 100, entrada);
          }


   /* Obtener 'handle' y bloquearlo */
   hPortapapeles = GlobalAlloc(GHND, 12775);
   p = GlobalLock(hPortapapeles);

   /* Copiar texto al bloque de memoria */
   for (i = 0; i <= 12775; i++)
    { ((char *) p) = bufer;}
   /* Desbloquear 'handle' */
   GlobalUnlock(hPortapapeles);

   /* Abrir portapapeles y vaciarlo */
   OpenClipboard(NULL);
   EmptyClipboard();
   CloseClipboard();

   /* Definir tipo de datos del portapapeles */
   OpenClipboard(NULL);
   SetClipboardData(CF_HDROP, hPortapapeles);
   CloseClipboard();

   free(bufer);

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Portapapeles??????
« Respuesta #1 en: Lunes 28 de Mayo de 2007, 22:14 »
0
Estas usando un formato, CF_HDROP, que no se corresponde con los datos que especificas.

Para copiar un archivo usando este formato no se copian directamente los datos sino que se usa una estructura donde se indica el path de los archivos.

Estructura DROPFILES

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.