最近在写一个小程序,用到了Windows的系统剪贴板,将自己使用的一些东西写点下来吧。
程序是再VC6.0平台下写的,首先如果要获得剪贴板的使用权,就要设置SetClipboardViewer();
如以下代码:
HWND m_hWndNext;
m_hWndNext = SetClipboardViewer();
保存下一个窗口句柄,在退出时设置
ChangeClipboardChain(m_hWndNext);
然后响应消息:WM_DRAWCLIPBOARD 对应的对话框函数OnDrawClipboard();
下面的一个示例代码显示了如何获得剪贴板中的文本:
有了以上基础,再来做网页保存这块就简单一些了,因为系统似乎不认CF_HTML,所以我们可以自己注册这个格式:
UINT uHTMLFormat = RegisterClipboardFormat("HTML Format");
程序是再VC6.0平台下写的,首先如果要获得剪贴板的使用权,就要设置SetClipboardViewer();
如以下代码:
HWND m_hWndNext;
m_hWndNext = SetClipboardViewer();
保存下一个窗口句柄,在退出时设置
ChangeClipboardChain(m_hWndNext);
然后响应消息:WM_DRAWCLIPBOARD 对应的对话框函数OnDrawClipboard();
下面的一个示例代码显示了如何获得剪贴板中的文本:
HGLOBAL hglb;
LPTSTR lpTextStr;
if(!IsClipboardFormatAvailable(CF_TEXT))
{
return ;
}
if(!::OpenClipboard(NULL))
{
return ;
}
hglb=::GetClipboardData(CF_TEXT);
if (hglb!=NULL)
{
lpTextStr=(char*)GlobalLock(hglb);
GlobalUnlock(hglb);
CString txtStr=CString(lpTextStr);
}
::CloseClipboard();
有了以上基础,再来做网页保存这块就简单一些了,因为系统似乎不认CF_HTML,所以我们可以自己注册这个格式:
UINT uHTMLFormat = RegisterClipboardFormat("HTML Format");