tengo la funcion getPortapapeles y setPortapapeles.
el get funciona correctisimo pero en cambio el set no me funciona del todo bien, me explico:
aqui intento copiar y pegar lo que tenemos en el portapapeles
Código:
en cambio si solo queremos pegar al portapapeles todo va correctomain() { char *buffer = new char[1024]; buffer = getPortapapeles(); setPortapapeles(buffer);// no me funciona el set }
Código:
aqui las dos funciones get & set que por separado funcionan a la perfeccion pero juntas dejan mucho que desearmain() { char *buffer = new char[1024]; // buffer = getPortapapeles(); strcpy(buffer,"esto si que funciona"); setPortapapeles(buffer);// inserta correctamente }
Código:
char * getPortapapeles() { 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; }
Código:
alguien es tan amable de decirme porque me fallan?setPortapapeles(char *str) { 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(); } }
gracias!!!