1.程序需求与环境
- 需要在一个带界面的win32工程能使用剪切板,点击一个按钮,向剪贴板中copy内容,这样用户可以直接使用‘ctr + v’将内容复制出来。
- vs2008下使用c++
- Windows系统
- 目标:写一个类封装clipboard操作。
2.技术分析
- 坑定是调用win api,但是剪切板设计到内存操作,操作是以byte为单位的,所以要分为2种情况:ASCII和Unicode编码。
- 他们对应采用的不同的参数,操作win32 api。
3.源代码说明
- 先push上我写的一个类,我这个类是Unicode情况操作剪贴板。
- 剪切板操作是win user api,所以要#include <WinUser.h>
#pragma once
class ClipBoard
{
public:
ClipBoard(HWND _hwnd);
~ClipBoard();
bool SetDataToClipboard(const wchar_t* data_str);
wchar_t* GetDataFromClipboard();
private:
HWND m_hwnd;
};
#include "stdafx.h"
#include "clipboard.h"
#include <WinUser.h>
ClipBoard::ClipBoard(HWND _hwnd)