2017-08-12 39 views
-4

我是一個新的程序員在c + +中,我不明白如何使用剪貼板來複制和粘貼像任何其他程序與文本。請舉例?如何將文本複製到C++中的clipborad?

我使用的代碼:: Blocks的16.01 MINGW32 G ++窗口10

+3

C++沒有剪貼板的概念;這是特定於您的操作系統和/或窗口層。 – MrEricSir

+0

「你喜歡在其他程序中」是什麼意思?你可以隨處按Ctrl + c。 – ForceBru

+0

我建議看看[這裏](https://stackoverflow.com/questions/6436257/how-do-you-copy-paste-from-the-clipboard-in-c)。剪貼板看起來並不容易,但它並不難。請記住,您必須檢查複製數據的類型,因爲它可以是文本,圖像,自定義/原始數據等...... – FonzTech

回答

3

SetClipboardData應當予以受理。

glob = GlobalAlloc(GMEM_FIXED,32); 
memcpy(glob,"it works",9); 

OpenClipboard(hWnd); 
EmptyClipboard(); 
SetClipboardData(CF_TEXT,glob); 
CloseClipboard(); 

編輯

這將讓數據從剪貼板和string返回的數據。

std::string GetClipboardText() 
{ 
    OpenClipboard(nullptr); 
    HANDLE hData = GetClipboardData(CF_TEXT); 

    char * pszText = static_cast<char*>(GlobalLock(hData)); 
    std::string text(pszText); 

    GlobalUnlock(hData); 
    CloseClipboard(); 

    return text; 
} 
+1

並粘貼?????? – RoyAviDan

+1

在編輯之前,它的實際工作就是爲我服務的。 – RoyAviDan

+0

很高興幫助。 :-) –

相關問題