elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 00:45  


Tema destacado: Grupo de Facebook de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  CLIPBOARD! (CODIGO FUENTE)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: CLIPBOARD! (CODIGO FUENTE)  (Leído 1,096 veces)
EvilGoblin


Desconectado Desconectado

Mensajes: 2.320


YO NO LA VOTE!


Ver Perfil
CLIPBOARD! (CODIGO FUENTE)
« en: 16 Julio 2007, 17:29 »

Bueno bueno ^^

eh visto varios temas sobre esto en el foro

quizas los demas entiendan

pero yo soy medio torpe y no entiendo mucho xD

=P

por eso vengo a traer codigos fuentes conseguido por internet


No me pidan fuente =S pork eran de paginas japonesas xD

^^

pero sirven

PRIMERO: como copiar una cadena de texto dentro del clipboard


Código:
#include <windows.h>
#include <stdio.h>


int main()
{

    char* str="Hola Portapapeles xD\0";

    if (OpenClipboard(NULL))
    {
        HGLOBAL hClipboardData;
        char * pchData;

        EmptyClipboard();
        hClipboardData = GlobalAlloc(GMEM_DDESHARE, strlen(str)+1);
        pchData = (char*)GlobalLock(hClipboardData);
        strcpy(pchData, str);
        GlobalUnlock(hClipboardData);
        SetClipboardData( CF_TEXT,hClipboardData); //CF_TEXT  CF_HDROP
        CloseClipboard();
    }
}



y SEGUNDO: Copiar un archivo (c:\\text.txt\0) dentro del clipboard






Código:
#include <windows.h>
#include <stdio.h>
#include <Shellapi.h>
#include <Shlobj.h>
#include <oleidl.h>   

VOID CutOrCopyFiles(char *lpBuffer,UINT uBufLen,BOOL bCopy)
{
UINT uDropEffect;
DROPFILES dropFiles;
UINT uGblLen,uDropFilesLen;
HGLOBAL hGblFiles,hGblEffect;
char *szData,*szFileList;

DWORD *dwDropEffect;

uDropEffect=RegisterClipboardFormat("Preferred DropEffect");
hGblEffect=GlobalAlloc(GMEM_ZEROINIT|GMEM_MOVEABLE|GMEM_DDESHARE,sizeof(DWORD));
dwDropEffect=(DWORD*)GlobalLock(hGblEffect);
if(bCopy)
*dwDropEffect=DROPEFFECT_COPY;
else
*dwDropEffect=DROPEFFECT_MOVE;
GlobalUnlock(hGblEffect);

uDropFilesLen=sizeof(DROPFILES);
dropFiles.pFiles =uDropFilesLen;
dropFiles.pt.x=0;
dropFiles.pt.y=0;
dropFiles.fNC =FALSE;
dropFiles.fWide =TRUE;

uGblLen=uDropFilesLen+uBufLen*2+8;
hGblFiles= GlobalAlloc(GMEM_ZEROINIT|GMEM_MOVEABLE|GMEM_DDESHARE, uGblLen);
szData=(char*)GlobalLock(hGblFiles);
memcpy(szData,(LPVOID)(&dropFiles),uDropFilesLen);
szFileList=szData+uDropFilesLen;

MultiByteToWideChar(CP_ACP,MB_COMPOSITE,
lpBuffer,uBufLen,(WCHAR *)szFileList,uBufLen);

GlobalUnlock(hGblFiles);

if( OpenClipboard(NULL) )
{
EmptyClipboard();
SetClipboardData( CF_HDROP, hGblFiles );
SetClipboardData(uDropEffect,hGblEffect);
CloseClipboard();
}
}     
 
int main()
{
   
    char szFiles[]="c:\\documento.txt\0""C:\\documento1.txt\0";
CutOrCopyFiles(szFiles,sizeof(szFiles),FALSE);
 

 
   
}   
   



Espero que les sirva xD


a medida que voy encontrando cosas para unos programas q voy haciendo

lo voy posteando en el foro como (CODIGO FUENTE) kisas a alguna otra persona le sirva =) suerte



GOBLIN INC!
POWERED BY EVIL!

No sueñes tu vida. vive tus sueños


« Última modificación: 16 Julio 2007, 18:27 por evilgoblin » En línea

Experimental Serial Lain [Linux User]
sulrun

Desconectado Desconectado

Mensajes: 33


Ver Perfil
Re: CLIPBOARD! (CODIGO FUENTE)
« Respuesta #1 en: 16 Julio 2007, 19:37 »

Bueno yo posteo como obtener el contenido del clipboard ;)

Código
char * GetClipboardText()
{
      char buffer[1024];
if ( OpenClipboard(NULL) )
{
 
HANDLE hData = GetClipboardData( CF_TEXT );
if (!hData) return 0;
char * buffer = (char*)GlobalLock( hData );
 
GlobalUnlock( hData );
CloseClipboard();
return buffer;
}
return 0;
}


En línea
EvilGoblin


Desconectado Desconectado

Mensajes: 2.320


YO NO LA VOTE!


Ver Perfil
Re: CLIPBOARD! (CODIGO FUENTE)
« Respuesta #2 en: 16 Julio 2007, 20:03 »

palabras claves para busqueda mas eficaz: clipboard, clipb, portapapeles, porta papeles, copiar al porta papeles, CTRL + C , CTRL+C, control C, copiar, meter en el porta papeles, introducir,
En línea

Experimental Serial Lain [Linux User]
~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.983


Ver Perfil WWW
Re: CLIPBOARD! (CODIGO FUENTE)
« Respuesta #3 en: 17 Julio 2007, 17:35 »

Muchas gracias por los codigos, me seran muy utiles  ;)
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines