VC调用剪贴板
最近一直在用photoshop的图床,但是每次原图都涉及比例问题,于是想写个小程序,但是遇到了问题。转换后的图片比例要复制到剪贴板,之前一直没有写过用VC调用剪贴板的程序,在此mark一下。
代码如下:
CString strOut;
HGLOBAL hClip;
//定义一个变量用来指向分配的内存块
if (OpenClipboard())
{
EmptyClipboard(); //内容清空
hClip=GlobalAlloc(GMEM_MOVEABLE,strOut.GetLength()+1);
//在堆上分配可移动的内存块
char * buff;
buff=(char*)GlobalLock(hClip);
//对分配的内存块进行加锁,得到首地址
int i;
//将字符串的值赋给指针
for ( i=0;i<strOut.GetLength()+1;i++)
{
buff[i]=strOut[i];
}
GlobalUnlock(hClip);
//数据写入完毕,进行解锁
SetClipboardData(CF_TEXT,hClip);
//将存放有数据的内存块放入剪贴板的资源管理中
CloseClipboard();
//关闭剪贴板,释放剪贴板资源的占用权
MessageBox(_T("复制成功"));
}
上面的代码就是将一个字符串内容复制到剪贴板上的操作,需要的可以参考一下。