- //src要分割的字符串,splitChar分割符 返回列表
- vector
split(CString src,CString splitChar) - {
- vector
outList; - int pos = 0;
- while (true){
- CString token = src.Tokenize(_T(splitChar), pos);
- if (token.IsEmpty()) { break; }
- outList.push_back(token);
- }
- return outList;
- }
- void PrintAllDlg::OnBnClickedButtonGetdata2()
- {
- //打开剪贴板
- CString fromClipboard="";
- if (OpenClipboard())
- {
- //char * buffer = NULL;
- HANDLE hData = GetClipboardData(CF_TEXT);//文本
- char * buffer = (char*)GlobalLock(hData);
- fromClipboard = buffer;
- GlobalUnlock(hData);
- CloseClipboard();
- }
- if (fromClipboard.GetLength() > 0)
- {
- ShowInfo("剪贴板内容:\r\n"+ fromClipboard);
- vector
list = split(fromClipboard, "\r\n"); - if (list.size() >= 3)
- {
- GetDlgItem(IDC_EDIT_SNsn)->SetWindowText(list[0]);
- GetDlgItem(IDC_EDIT_IMEI1)->SetWindowText(list[1]);
- GetDlgItem(IDC_EDIT_IMEI2)->SetWindowText(list[2]);
- }
- list.~vector();
- }
- else { ShowInfo("无文本内容"); }
- }

- #清空剪切板
- cmd /c "echo off | clip"
C++
- CString getClipboard()
- {
- //打开剪贴板
- CString fromClipboard="";
- if (OpenClipboard())
- {
- //char * buffer = NULL;
- HANDLE hData = GetClipboardData(CF_TEXT);//文本
- char * buffer = (char*)GlobalLock(hData);
- fromClipboard = buffer;
- GlobalUnlock(hData);
- CloseClipboard();
- }
- return fromClipboard;
- }
-
- void SetClipboard(CString content)
- {
- HGLOBAL hMemBin = NULL;
- PCHAR LockBin = NULL;
- OpenClipboard(NULL);
- EmptyClipboard();
- hMemBin = GlobalAlloc(GMEM_MOVEABLE, content.GetLength() + 1);
- LockBin = (PCHAR)GlobalLock(hMemBin);
- RtlMoveMemory(LockBin, content.GetBuffer(), content.GetLength() + 1);
- GlobalUnlock(hMemBin);
- LockBin = NULL;
- SetClipboardData(CF_TEXT, hMemBin);
- CloseClipboard();
- }