PDA

Visualizza la versione completa : [C++] Clipboard


kirakira93
28-05-2010, 14:47
Ciao ragazzi....ho provato a fare questo tentativo con la clipboard e non capisco perchè non vada! Dovrebbe scrivere "Ciao :):)" Sulla editbox corrente


#include <all.h>
#define Box(x) MessageBox(NULL,x,"Information",0)
#define EBox(x) MessageBox(NULL,x,"Error!",MB_ICONERROR)

int main()
{
Box("Start");
Sleep(1000);
HWND hWnd = GetForegroundWindow();
OpenClipboard(hWnd);


char szToCopy [] = "Ciao :):)";
HGLOBAL hResult = GlobalAlloc(GMEM_MOVEABLE, sizeof(szToCopy));

LPSTR lptstrCopy = (LPSTR)GlobalLock(hResult);

memcpy(lptstrCopy, szToCopy, sizeof(szToCopy));

GlobalUnlock(hResult);


if ( ::SetClipboardData( CF_OEMTEXT, hResult ) == NULL )

{

EBox( "Unable to set Clipboard data" );

CloseClipboard();

return 0;

}
CloseClipboard();

SendMessage(hWnd,WM_PASTE,0,0);
return 0;
}



mha!

kirakira93
28-05-2010, 15:15
Sono riuscito da solo a copiare nella clipboard.... mi sono dimenticato di azzerarla :)

ecco il codice


OpenClipboard(NULL);


char szToCopy [] = "Provdd:)";
HGLOBAL hResult = GlobalAlloc(GMEM_MOVEABLE, strlen(szToCopy) + 13343);
EmptyClipboard();
LPSTR lptstrCopy = (LPSTR)GlobalLock(hResult);

memcpy(lptstrCopy, szToCopy, strlen(szToCopy) + 13343);

GlobalUnlock(hResult);

if ( SetClipboardData( CF_TEXT, hResult ) == NULL )

{

EBox( "Unable to set Clipboard data" );
CloseClipboard();
return 0;

}
CloseClipboard();





#include <all.h>
volevo dire
#include <windows.h>
:)


comunque il problema adesso è un'altro!
Come faccio a prelevare il testo dalla clipboard????
Con WM_PASTE non si riesce!

MItaly
29-05-2010, 01:47
GetClipboardData (http://msdn.microsoft.com/en-us/library/ms649039%28VS.85%29.aspx) :bhò:

kirakira93
30-05-2010, 10:13
Grazie, proverò questi giorni

Loading