3
이 코드는 문자열을 클립 보드로 보내야합니다. 그러나 나는 한 번 일하게했다. 이제 CTRL + V를 누르면 올바르게 나오지 않습니다.C/C++ Windows API 클립 보드에 텍스트 전송
그러나이 스 니펫을 사용하여 클립 보드 텍스트를 식별 할 때 필요한 내용을 보여줍니다.
#include <windows.h>
#include <iostream>
BOOL SetClipboardText(LPCTSTR pszText)
{
BOOL ok = FALSE;
if(OpenClipboard(NULL)) {
// the text should be placed in "global" memory
HGLOBAL hMem = GlobalAlloc(GMEM_SHARE | GMEM_MOVEABLE,
(lstrlen(pszText)+1)*sizeof(pszText[0]));
LPTSTR ptxt = (LPTSTR)GlobalLock(hMem);
lstrcpy(ptxt, pszText);
GlobalUnlock(hMem);
// set data in clipboard; we are no longer responsible for hMem
ok = (BOOL)SetClipboardData(CF_TEXT, hMem);
CloseClipboard(); // relinquish it for other windows
}
return ok;
}
int main()
{
LPCTSTR test = "DOG";
SetClipboardText(test);
return 0;
}
//get clipboard text
#include <windows.h>
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
HANDLE clip;
if (OpenClipboard(NULL))
clip = GetClipboardData(CF_TEXT);
printf("%s",clip);
//cout << (char*)clip; // HANDLE==void*, so cast it
cin.get();}