闻心阁

一蓑烟雨看苍生,半壶浊酒笑红尘

VC调用剪贴板

2011-07-12 约 1 分钟读完 搬砖秘籍

最近一直在用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("复制成功"));

}

上面的代码就是将一个字符串内容复制到剪贴板上的操作,需要的可以参考一下。