剪贴板的问题,Empty时出错
写了剪贴版的按钮事件,
按第一次可以改变剪贴板的内容,但是再按就出错,
似乎是EmptyClipboard的时候,
请教。
void __fastcall TForm1::Button1Click(TObject *Sender)
{
try
{
ShowMessage("Open");
OpenClipboard(Handle);
if(IsClipboardFormatAvailable(CF_TEXT))
{
GLOBALHANDLE hGlobal = GetClipboardData(CF_TEXT);
char* pGlobal = (char*)GlobalLock(hGlobal);
MessageBox(Handle, pGlobal, "Original", NULL);
strcpy(pGlobal, "替换后的文字");
GlobalUnlock(hGlobal);
ShowMessage("Empty");
EmptyClipboard();
SetClipboardData(CF_TEXT, hGlobal);
}
else
{
ShowMessage("Nothing");
}
}
__finally
{
ShowMessage("Close");
CloseClipboard();
}
}