-
Notifications
You must be signed in to change notification settings - Fork 2
/
textClipBorad.cpp
54 lines (48 loc) · 970 Bytes
/
textClipBorad.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#define _CRT_SECURE_NO_WARNINGS
#include "textClipBorad.h"
textClipBorad::textClipBorad()
{
}
textClipBorad::~textClipBorad()
{
}
BOOL textClipBorad::CopyToClipboard(const char* pszData, const int nDataLen)
{
//
if (::OpenClipboard(NULL))
{
::EmptyClipboard();
HGLOBAL clipbuffer;
char *buffer;
clipbuffer = ::GlobalAlloc(GMEM_DDESHARE, nDataLen + 1);
buffer = (char *)::GlobalLock(clipbuffer);
strcpy(buffer, pszData);
::GlobalUnlock(clipbuffer);
::SetClipboardData(CF_TEXT, clipbuffer);
::CloseClipboard();
return TRUE;
}
return FALSE;
}
std::string textClipBorad::GetTextFromClipboard()
{
std::string retStr;
//打开剪切板(占用)
if (::OpenClipboard(NULL))
{
//获得剪贴板数据
HGLOBAL hMem = GetClipboardData(CF_TEXT);
if (NULL != hMem)
{
char* lpStr = (char*)::GlobalLock(hMem);
if (NULL != lpStr)
{
retStr = lpStr;
::GlobalUnlock(hMem);
}
}
::CloseClipboard();
return retStr;
}
return retStr;
}