La función SetClipboardData
requiere una referencia HANDLE
; Tengo problemas para convertir mi cadena para utilizarla en la función.Cómo copiar una cadena al portapapeles en C?
Aquí está mi código:
char* output = "Test";
HLOCAL hMem = LocalAlloc(LHND,1024);
char* cptr = (char*) LocalLock(hMem);
memcpy(cptr, output, 500);
SetClipboardData(CF_TEXT, hMem);
LocalUnlock(hMem);
LocalFree(hMem);
CloseClipboard();
¿qué estoy haciendo mal aquí y lo que es la forma correcta de hacerlo?
Gracias.
¡Eso funciona! Hay un error tipográfico en la tercera línea. –
Funciona para mí también ... con dos correcciones: GMEM_MOVEABLE y sin parámetro pasado en OpenClipboard(); – Harvey
¿Por qué también copiar el terminador de byte nulo? – Jack