BOOL CopyToClipboard (ansistring file);
//---------------------------------------------------------------------------
__fastcall Tform1::tform1 (tcomponent* Owner)
: Tform (Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall Tform1::button1click (tobject *sender)
{
CopyToClipboard ("C:\\scandisk.log");
}
BOOL CopyToClipboard (ansistring file)
{
int Nlen;
char* Data;
HANDLE Hmem;
if (file. IsEmpty ()) return false;
Nlen = + file. Length () + 2;
Hmem = GlobalAlloc (gmem_moveable
| gmem_ddeshare| Gmem_zeroinit,
Nlen);
if (hmem==null) return false;
Data = (char*) globallock (HMEM);
* (dword*) Data = 20;
strcpy (data+20, File.c_str ());
GlobalUnlock (HMEM);
if (OpenClipboard (NULL)) {
EmptyClipboard ();
if (SetClipboardData (
CF_HDROP,HMEM)!=0)
Hmem = NULL;
CloseClipboard ();
}
if (HMEM) GlobalFree (HMEM);
Return Hmem? False:true;
}